diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gpu/GrClipStackClip.cpp | 6 | ||||
-rw-r--r-- | src/gpu/GrSoftwarePathRenderer.cpp | 6 |
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(); |