Reland "Reland "Have a GrBackendFormat be stored on gpu proxies.""
This is a reland of 2f9a5ea639925f38785f4d3a0af237822007cfd6
Original change's description:
> Reland "Have a GrBackendFormat be stored on gpu proxies."
>
> This reverts commit 919c9e77c3492af766ff5982acda76ee49da3168.
>
> Reason for revert: Flutter change has landed and fixed memory issue.
>
> Original change's description:
> > Revert "Have a GrBackendFormat be stored on gpu proxies."
> >
> > This reverts commit 51b1c12bbc2fa3f8d4faa29ad19c6f3cb34837ce.
> >
> > Reason for revert: reverting till flutter gets to 1.1 to fix build issues.
> >
> > Original change's description:
> > > Have a GrBackendFormat be stored on gpu proxies.
> > >
> > > Bug: skia:
> > > Change-Id: Iaf1fb24ab29a61d44e5fa59a5e0867ed02dcda90
> > > Reviewed-on: https://skia-review.googlesource.com/c/168021
> > > Reviewed-by: Brian Osman <brianosman@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com
> >
> > Change-Id: I574fdc084ef5994596c51fb0d60423b5dc01b885
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:903701 chromium:903756
> > Reviewed-on: https://skia-review.googlesource.com/c/169835
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com
>
> Change-Id: Ifd9b6b8e194af9fb9258fa626644e76e6ecf090d
> Bug: chromium:903701 chromium:903756
> Reviewed-on: https://skia-review.googlesource.com/c/170104
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
Bug: chromium:903701 chromium:903756
Change-Id: Id1360067d8e928b0a4e1848dae8bc1e7f1994403
Reviewed-on: https://skia-review.googlesource.com/c/171660
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/tests/ProxyTest.cpp b/tests/ProxyTest.cpp
index 8988ed5..9a5a0d1 100644
--- a/tests/ProxyTest.cpp
+++ b/tests/ProxyTest.cpp
@@ -124,6 +124,12 @@
desc.fConfig = config;
desc.fSampleCnt = numSamples;
+ GrSRGBEncoded srgbEncoded;
+ GrColorType colorType =
+ GrPixelConfigToColorTypeAndEncoding(config, &srgbEncoded);
+ const GrBackendFormat format =
+ caps.getBackendFormatFromGrColorType(colorType, srgbEncoded);
+
{
sk_sp<GrTexture> tex;
if (SkBackingFit::kApprox == fit) {
@@ -134,7 +140,8 @@
}
sk_sp<GrTextureProxy> proxy =
- proxyProvider->createProxy(desc, origin, fit, budgeted);
+ proxyProvider->createProxy(format, desc, origin, fit,
+ budgeted);
REPORTER_ASSERT(reporter, SkToBool(tex) == SkToBool(proxy));
if (proxy) {
REPORTER_ASSERT(reporter, proxy->asRenderTargetProxy());
@@ -168,7 +175,8 @@
}
sk_sp<GrTextureProxy> proxy(
- proxyProvider->createProxy(desc, origin, fit, budgeted));
+ proxyProvider->createProxy(format, desc, origin, fit,
+ budgeted));
REPORTER_ASSERT(reporter, SkToBool(tex) == SkToBool(proxy));
if (proxy) {
// This forces the proxy to compute and cache its
@@ -346,8 +354,12 @@
desc.fConfig = kRGBA_8888_GrPixelConfig;
desc.fSampleCnt = 1;
+ const GrBackendFormat format =
+ ctxInfo.grContext()->contextPriv().caps()->getBackendFormatFromColorType(
+ kRGBA_8888_SkColorType);
+
sk_sp<GrTextureProxy> proxy = provider->createProxy(
- desc, kBottomLeft_GrSurfaceOrigin, fit, SkBudgeted::kNo);
+ format, desc, kBottomLeft_GrSurfaceOrigin, fit, SkBudgeted::kNo);
REPORTER_ASSERT(reporter, !proxy);
}
}