diff options
author | Robert Phillips <robertphillips@google.com> | 2018-04-05 09:30:38 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-04-05 14:21:07 +0000 |
commit | 8caf85f9f40f6bad38bf66bd02b87dcebe139a5c (patch) | |
tree | 46a2b1414601ca99f6c60bd3442e8075bc27173f /src/gpu/GrBackendSurface.cpp | |
parent | 91749c82523c8b0b3f2b6f800d85893ca5386fbd (diff) |
Add GrBackendTexture/RenderTarget accessors to SkSurface
Change-Id: I63477fd4b8d48dc50af72736f0f8df566cd96d4a
Reviewed-on: https://skia-review.googlesource.com/85220
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrBackendSurface.cpp')
-rw-r--r-- | src/gpu/GrBackendSurface.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/gpu/GrBackendSurface.cpp b/src/gpu/GrBackendSurface.cpp index 978e66db0b..97b4d64706 100644 --- a/src/gpu/GrBackendSurface.cpp +++ b/src/gpu/GrBackendSurface.cpp @@ -290,3 +290,40 @@ const GrMockRenderTargetInfo* GrBackendRenderTarget::getMockRenderTargetInfo() c } return nullptr; } + +#if GR_TEST_UTILS +bool GrBackendRenderTarget::TestingOnly_Equals(const GrBackendRenderTarget& r0, + const GrBackendRenderTarget& r1) { + if (!r0.isValid() || !r1.isValid()) { + return false; // two invalid backend rendertargets are not considered equal + } + + if (r0.fWidth != r1.fWidth || + r0.fHeight != r1.fHeight || + r0.fSampleCnt != r1.fSampleCnt || + r0.fStencilBits != r1.fStencilBits || + r0.fConfig != r1.fConfig || + r0.fBackend != r1.fBackend) { + return false; + } + + switch (r0.fBackend) { + case kOpenGL_GrBackend: + return r0.fGLInfo == r1.fGLInfo; + case kMock_GrBackend: + return r0.fMockInfo == r1.fMockInfo; + case kVulkan_GrBackend: +#ifdef SK_VULKAN + return r0.fVkInfo == r1.fVkInfo; +#else + // fall through +#endif + case kMetal_GrBackend: // fall through + default: + return false; + } + + SkASSERT(0); + return false; +} +#endif |