Use GrDstProxyView to store the dest-texture in GrPipeline.
Change-Id: I99f00d6d143858e3a23b0018785fd1dee9ef56a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415898
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp
index e04d1c3..df84c83 100644
--- a/src/gpu/GrPipeline.cpp
+++ b/src/gpu/GrPipeline.cpp
@@ -35,11 +35,7 @@
SkASSERT((args.fDstProxyView.dstSampleType() != GrDstSampleType::kNone) ==
SkToBool(args.fDstProxyView.proxy()));
- if (args.fDstProxyView.proxy()) {
- fDstProxyView = args.fDstProxyView.proxyView();
- fDstTextureOffset = args.fDstProxyView.offset();
- }
- fDstSampleType = args.fDstProxyView.dstSampleType();
+ fDstProxy = args.fDstProxyView;
}
GrPipeline::GrPipeline(const InitArgs& args, GrProcessorSet&& processors,
@@ -66,7 +62,7 @@
}
GrXferBarrierType GrPipeline::xferBarrierType(const GrCaps& caps) const {
- if (fDstProxyView.proxy() && GrDstSampleTypeDirectlySamplesDst(fDstSampleType)) {
+ if (this->dstProxyView().proxy() && GrDstSampleTypeDirectlySamplesDst(this->dstSampleType())) {
return kTexture_GrXferBarrierType;
}
return this->getXferProcessor().xferBarrierType(caps);
@@ -121,7 +117,7 @@
fp->visitProxies(func);
}
if (this->usesDstTexture()) {
- func(fDstProxyView.proxy(), GrMipmapped::kNo);
+ func(this->dstProxyView().proxy(), GrMipmapped::kNo);
}
}
@@ -132,8 +128,8 @@
if (dstTexture) {
if (fBuiltinUniformHandles->fDstTextureCoordsUni.isValid()) {
pdm.set4f(fBuiltinUniformHandles->fDstTextureCoordsUni,
- static_cast<float>(fDstTextureOffset.fX),
- static_cast<float>(fDstTextureOffset.fY),
+ static_cast<float>(this->dstTextureOffset().fX),
+ static_cast<float>(this->dstTextureOffset().fY),
1.f / dstTexture->width(),
1.f / dstTexture->height());
}