diff options
author | Greg Daniel <egdaniel@google.com> | 2017-04-26 12:19:14 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-27 18:15:38 +0000 |
commit | fdd77daedbba3b7c53be74a82fb9fae891b51696 (patch) | |
tree | af2780b3f60109deb860b774eb128487d0134de0 /tests | |
parent | a41d48b739c144ee7b36290a9642064bc6cdcd05 (diff) |
Plumb the use of GrBackendRenderTarget throughout Skia
Bug: skia:
Change-Id: Ib99a58d9552f5c7b8d77c09dcc72fa88326c26aa
Reviewed-on: https://skia-review.googlesource.com/14148
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ProxyConversionTest.cpp | 18 | ||||
-rw-r--r-- | tests/ProxyTest.cpp | 17 | ||||
-rw-r--r-- | tests/VkWrapTests.cpp | 20 |
3 files changed, 22 insertions, 33 deletions
diff --git a/tests/ProxyConversionTest.cpp b/tests/ProxyConversionTest.cpp index a041d68c2b..167cc4b10d 100644 --- a/tests/ProxyConversionTest.cpp +++ b/tests/ProxyConversionTest.cpp @@ -10,6 +10,7 @@ #include "Test.h" #if SK_SUPPORT_GPU +#include "GrBackendSurface.h" #include "GrRenderTargetProxy.h" #include "GrResourceProvider.h" #include "GrSurfaceProxy.h" @@ -18,16 +19,12 @@ static sk_sp<GrSurfaceProxy> make_wrapped_FBO0(GrResourceProvider* provider, skiatest::Reporter* reporter, const GrSurfaceDesc& desc) { - GrBackendRenderTargetDesc backendDesc; - backendDesc.fWidth = desc.fWidth; - backendDesc.fHeight = desc.fHeight; - backendDesc.fConfig = desc.fConfig; - backendDesc.fOrigin = desc.fOrigin; - backendDesc.fSampleCnt = desc.fSampleCnt; - backendDesc.fStencilBits = 8; - backendDesc.fRenderTargetHandle = 0; - - sk_sp<GrRenderTarget> defaultFBO(provider->wrapBackendRenderTarget(backendDesc)); + GrGLFramebufferInfo fboInfo; + fboInfo.fFBOID = 0; + GrBackendRenderTarget backendRT(desc.fWidth, desc.fHeight, desc.fSampleCnt, 8, + desc.fConfig, fboInfo); + + sk_sp<GrRenderTarget> defaultFBO(provider->wrapBackendRenderTarget(backendRT, desc.fOrigin)); SkASSERT(!defaultFBO->asTexture()); return GrSurfaceProxy::MakeWrapped(std::move(defaultFBO)); @@ -62,6 +59,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(WrappedProxyConversionTest, reporter, ctxInfo desc.fWidth = 64; desc.fHeight = 64; desc.fConfig = kRGBA_8888_GrPixelConfig; + desc.fOrigin = kBottomLeft_GrSurfaceOrigin; if (kOpenGL_GrBackend == ctxInfo.backend()) { // External on-screen render target. diff --git a/tests/ProxyTest.cpp b/tests/ProxyTest.cpp index db407d791f..6553b4e94f 100644 --- a/tests/ProxyTest.cpp +++ b/tests/ProxyTest.cpp @@ -10,6 +10,7 @@ #include "Test.h" #if SK_SUPPORT_GPU +#include "GrBackendSurface.h" #include "GrRenderTargetPriv.h" #include "GrRenderTargetProxy.h" #include "GrResourceProvider.h" @@ -20,7 +21,7 @@ static void check_surface(skiatest::Reporter* reporter, GrSurfaceProxy* proxy, GrSurfaceOrigin origin, - int width, int height, + int width, int height, GrPixelConfig config, const GrGpuResource::UniqueID& uniqueID, SkBudgeted budgeted) { @@ -228,17 +229,13 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(WrappedProxyTest, reporter, ctxInfo) { // External on-screen render target. if (renderable && kOpenGL_GrBackend == ctxInfo.backend()) { - GrBackendRenderTargetDesc backendDesc; - backendDesc.fWidth = kWidthHeight; - backendDesc.fHeight = kWidthHeight; - backendDesc.fConfig = config; - backendDesc.fOrigin = origin; - backendDesc.fSampleCnt = numSamples; - backendDesc.fStencilBits = 8; - backendDesc.fRenderTargetHandle = 0; + GrGLFramebufferInfo fboInfo; + fboInfo.fFBOID = 0; + GrBackendRenderTarget backendRT(kWidthHeight, kWidthHeight, numSamples, 8, + config, fboInfo); sk_sp<GrRenderTarget> defaultFBO( - provider->wrapBackendRenderTarget(backendDesc)); + provider->wrapBackendRenderTarget(backendRT, origin)); sk_sp<GrSurfaceProxy> sProxy(GrSurfaceProxy::MakeWrapped(defaultFBO)); check_surface(reporter, sProxy.get(), origin, diff --git a/tests/VkWrapTests.cpp b/tests/VkWrapTests.cpp index 44b5e72bc9..0ae3402da2 100644 --- a/tests/VkWrapTests.cpp +++ b/tests/VkWrapTests.cpp @@ -93,30 +93,24 @@ void wrap_rt_test(skiatest::Reporter* reporter, GrContext* context) { true); const GrVkImageInfo* backendTex = reinterpret_cast<const GrVkImageInfo*>(backendObj); - // check basic borrowed creation - GrBackendRenderTargetDesc desc; - desc.fWidth = kW; - desc.fHeight = kH; - desc.fConfig = kPixelConfig; - desc.fOrigin = kTopLeft_GrSurfaceOrigin; - desc.fSampleCnt = 0; - desc.fStencilBits = 0; - desc.fRenderTargetHandle = backendObj; - sk_sp<GrRenderTarget> rt = gpu->wrapBackendRenderTarget(desc); + GrBackendRenderTarget backendRT(kW, kH, 0, 0, *backendTex); + + sk_sp<GrRenderTarget> rt = gpu->wrapBackendRenderTarget(backendRT, kTopLeft_GrSurfaceOrigin); REPORTER_ASSERT(reporter, rt); // image is null GrVkImageInfo backendCopy = *backendTex; backendCopy.fImage = VK_NULL_HANDLE; - desc.fRenderTargetHandle = (GrBackendObject)&backendCopy; - rt = gpu->wrapBackendRenderTarget(desc); + GrBackendRenderTarget backendRT2(kW, kH, 0, 0, backendCopy); + rt = gpu->wrapBackendRenderTarget(backendRT2, kTopLeft_GrSurfaceOrigin); REPORTER_ASSERT(reporter, !rt); // alloc is null backendCopy.fImage = backendTex->fImage; backendCopy.fAlloc = { VK_NULL_HANDLE, 0, 0, 0 }; // can wrap null alloc - rt = gpu->wrapBackendRenderTarget(desc); + GrBackendRenderTarget backendRT3(kW, kH, 0, 0, backendCopy); + rt = gpu->wrapBackendRenderTarget(backendRT3, kTopLeft_GrSurfaceOrigin); REPORTER_ASSERT(reporter, rt); // When we wrapBackendRenderTarget it is always borrowed, so we must make sure to free the |