aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gpu/GrClipStackClip.cpp6
-rw-r--r--src/gpu/GrSoftwarePathRenderer.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/gpu/GrClipStackClip.cpp b/src/gpu/GrClipStackClip.cpp
index 69d81a08a2..1be35a88e3 100644
--- a/src/gpu/GrClipStackClip.cpp
+++ b/src/gpu/GrClipStackClip.cpp
@@ -526,6 +526,12 @@ sk_sp<GrTextureProxy> GrClipStackClip::createSoftwareClipMask(
proxy = GrSurfaceProxy::MakeDeferred(context->resourceProvider(), desc,
SkBackingFit::kApprox, SkBudgeted::kYes);
+ // TODO: I believe the assignUniqueKeyToProxy below used to instantiate the proxy before
+ // the draw that used the result was being flushed, so the upload was succeeding. With
+ // assignUniqueKeyToProxy no longer forcing an instantiation it will have to happen
+ // explicitly elsewhere.
+ proxy->instantiate(context->resourceProvider());
+
auto uploader = skstd::make_unique<GrMaskUploaderPrepareCallback<ClipMaskData>>(
proxy, reducedClip);
GrMaskUploaderPrepareCallback<ClipMaskData>* uploaderRaw = uploader.get();
diff --git a/src/gpu/GrSoftwarePathRenderer.cpp b/src/gpu/GrSoftwarePathRenderer.cpp
index 421dd6b11c..c9377e26de 100644
--- a/src/gpu/GrSoftwarePathRenderer.cpp
+++ b/src/gpu/GrSoftwarePathRenderer.cpp
@@ -305,6 +305,12 @@ bool GrSoftwarePathRenderer::onDrawPath(const DrawPathArgs& args) {
return false;
}
+ // TODO: I believe the assignUniqueKeyToProxy below used to instantiate the proxy before
+ // before the draw that used the result was being flushed, so the upload was succeeding.
+ // With assignUniqueKeyToProxy no longer forcing an instantiation it will have to happen
+ // explicitly elsewhere.
+ proxy->instantiate(fResourceProvider);
+
auto uploader = skstd::make_unique<GrMaskUploaderPrepareCallback<SoftwarePathData>>(
proxy, *boundsForMask, *args.fViewMatrix, *args.fShape, aa);
GrMaskUploaderPrepareCallback<SoftwarePathData>* uploaderRaw = uploader.get();