aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkPipelineState.cpp
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-05-29 15:05:15 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-29 19:26:26 +0000
commitbb581ce30f55360fd3a12e7f5aa1fe324b16d085 (patch)
tree6ca8902e7c72278a3e796c9b3c2d3de02aa620b2 /src/gpu/vk/GrVkPipelineState.cpp
parent9bee2e5894bb8dd374392f238bc429e16f239583 (diff)
Convert DstTexture to DstProxy (take 2)
The last GrTexture-based TextureSampler::reset call must be removed before the TextureSamplers can become purely GrTextureProxy-backed Reland of: https://skia-review.googlesource.com/c/16908/ (Convert DstTexture to DstProxy) Split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) Change-Id: I3a497b6a950fad899f23882c0a9552894ef640f8 Reviewed-on: https://skia-review.googlesource.com/17205 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/vk/GrVkPipelineState.cpp')
-rw-r--r--src/gpu/vk/GrVkPipelineState.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/gpu/vk/GrVkPipelineState.cpp b/src/gpu/vk/GrVkPipelineState.cpp
index b3f6c1bc3b..525d75f3da 100644
--- a/src/gpu/vk/GrVkPipelineState.cpp
+++ b/src/gpu/vk/GrVkPipelineState.cpp
@@ -258,13 +258,16 @@ void GrVkPipelineState::setData(GrVkGpu* gpu,
}
SkASSERT(!fp && !glslFP);
- SkIPoint offset;
- GrTexture* dstTexture = pipeline.dstTexture(&offset);
- fXferProcessor->setData(fDataManager, pipeline.getXferProcessor(), dstTexture, offset);
+ {
+ SkIPoint offset;
+ GrTexture* dstTexture = pipeline.peekDstTexture(&offset);
+
+ fXferProcessor->setData(fDataManager, pipeline.getXferProcessor(), dstTexture, offset);
+ }
+
GrResourceIOProcessor::TextureSampler dstTextureSampler;
- if (dstTexture) {
- // MDB TODO: this is the last usage of a GrTexture-based TextureSampler reset method
- dstTextureSampler.reset(dstTexture);
+ if (GrTextureProxy* dstTextureProxy = pipeline.dstTextureProxy()) {
+ dstTextureSampler.reset(gpu->getContext()->resourceProvider(), sk_ref_sp(dstTextureProxy));
SkAssertResult(dstTextureSampler.instantiate(gpu->getContext()->resourceProvider()));
textureBindings.push_back(&dstTextureSampler);
}