Use GrSurfaceProxyView for dst proxies.
Bug: skia:9556
Change-Id: I41ae112a3d22f6c6481cba1afc3937b5e5115cf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252043
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp
index 3e5e18d..a246c85 100644
--- a/src/gpu/GrPipeline.cpp
+++ b/src/gpu/GrPipeline.cpp
@@ -38,11 +38,11 @@
fXferProcessor = processors.refXferProcessor();
- if (args.fDstProxy.proxy()) {
- SkASSERT(args.fDstProxy.proxy()->isInstantiated());
+ if (args.fDstProxyView.proxy()) {
+ SkASSERT(args.fDstProxyView.proxy()->isInstantiated());
- fDstTextureProxy = args.fDstProxy.refProxy();
- fDstTextureOffset = args.fDstProxy.offset();
+ fDstProxyView = args.fDstProxyView.proxyView();
+ fDstTextureOffset = args.fDstProxyView.offset();
}
// Copy GrFragmentProcessors from GrProcessorSet to Pipeline
@@ -74,7 +74,8 @@
}
GrXferBarrierType GrPipeline::xferBarrierType(GrTexture* texture, const GrCaps& caps) const {
- if (fDstTextureProxy && fDstTextureProxy->peekTexture() == texture) {
+ auto proxy = fDstProxyView.proxy();
+ if (proxy && proxy->peekTexture() == texture) {
return kTexture_GrXferBarrierType;
}
return this->getXferProcessor().xferBarrierType(caps);