Pipe all SDC creation through the recording context
In the new GrSurfaceContext class hierarchy we can get either a v1 or v2 SFC/SDC depending on the context options setting.
Bug: skia:11837
Change-Id: Ia25bc10b58bbbaf65a484b323d9d0eee471bb7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435276
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
diff --git a/src/gpu/GrDirectContextPriv.h b/src/gpu/GrDirectContextPriv.h
index c25fd4f..e2c5393 100644
--- a/src/gpu/GrDirectContextPriv.h
+++ b/src/gpu/GrDirectContextPriv.h
@@ -16,6 +16,7 @@
class GrAtlasManager;
class GrBackendFormat;
class GrBackendRenderTarget;
+class GrImageInfo;
class GrMemoryPool;
class GrOnFlushCallbackObject;
class GrRenderTargetProxy;
@@ -161,6 +162,32 @@
const SkSurfaceProps&,
skgpu::BaseDevice::InitContents);
+ std::unique_ptr<GrSurfaceContext> makeSC(GrSurfaceProxyView readView, const GrColorInfo&);
+
+ std::unique_ptr<GrSurfaceFillContext> makeSFC(GrImageInfo,
+ SkBackingFit = SkBackingFit::kExact,
+ int sampleCount = 1,
+ GrMipmapped = GrMipmapped::kNo,
+ GrProtected = GrProtected::kNo,
+ GrSurfaceOrigin = kTopLeft_GrSurfaceOrigin,
+ SkBudgeted = SkBudgeted::kYes);
+
+ std::unique_ptr<GrSurfaceFillContext> makeSFCWithFallback(
+ GrImageInfo,
+ SkBackingFit = SkBackingFit::kExact,
+ int sampleCount = 1,
+ GrMipmapped = GrMipmapped::kNo,
+ GrProtected = GrProtected::kNo,
+ GrSurfaceOrigin = kTopLeft_GrSurfaceOrigin,
+ SkBudgeted = SkBudgeted::kYes);
+
+ std::unique_ptr<GrSurfaceFillContext> makeSFCFromBackendTexture(
+ GrColorInfo,
+ const GrBackendTexture&,
+ int sampleCount,
+ GrSurfaceOrigin,
+ sk_sp<GrRefCntedCallback> releaseHelper);
+
#if GR_TEST_UTILS
/** Reset GPU stats */
void resetGpuStats() const;