From 7da62b9059f3c1d31624a0e4da96ee5f908f9c12 Mon Sep 17 00:00:00 2001 From: Greg Daniel Date: Tue, 18 Apr 2017 17:12:32 -0400 Subject: Plumb GrBackendTexture throughout skia. Bug: skia: Change-Id: I1bae6768ee7229818a83ba608035a1f7867e6875 Reviewed-on: https://skia-review.googlesource.com/13645 Commit-Queue: Greg Daniel Reviewed-by: Robert Phillips --- tests/VkWrapTests.cpp | 113 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 75 insertions(+), 38 deletions(-) (limited to 'tests/VkWrapTests.cpp') diff --git a/tests/VkWrapTests.cpp b/tests/VkWrapTests.cpp index 9279ef6895..44b5e72bc9 100644 --- a/tests/VkWrapTests.cpp +++ b/tests/VkWrapTests.cpp @@ -31,37 +31,56 @@ void wrap_tex_test(skiatest::Reporter* reporter, GrContext* context) { GrBackendObject backendObj = gpu->createTestingOnlyBackendTexture(nullptr, kW, kH, kPixelConfig, false); - const GrVkImageInfo* backendTex = reinterpret_cast(backendObj); - - // check basic borrowed creation - GrBackendTextureDesc desc; - desc.fConfig = kPixelConfig; - desc.fWidth = kW; - desc.fHeight = kH; - desc.fTextureHandle = backendObj; - sk_sp tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + const GrVkImageInfo* imageInfo = reinterpret_cast(backendObj); + + GrBackendTexture backendTex = GrBackendTexture(kW, kH, imageInfo); + sk_sp tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kNone_GrBackendTextureFlag, + 0, + kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, tex); // image is null - GrVkImageInfo backendCopy = *backendTex; + GrVkImageInfo backendCopy = *imageInfo; backendCopy.fImage = VK_NULL_HANDLE; - desc.fTextureHandle = (GrBackendObject) &backendCopy; - tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + backendTex = GrBackendTexture(kW, kH, &backendCopy); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kNone_GrBackendTextureFlag, + 0, + kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); - tex = gpu->wrapBackendTexture(desc, kAdopt_GrWrapOwnership); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kNone_GrBackendTextureFlag, + 0, + kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); // alloc is null - backendCopy.fImage = backendTex->fImage; + backendCopy.fImage = imageInfo->fImage; backendCopy.fAlloc = { VK_NULL_HANDLE, 0, 0, 0 }; - tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kNone_GrBackendTextureFlag, + 0, + kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); - tex = gpu->wrapBackendTexture(desc, kAdopt_GrWrapOwnership); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kNone_GrBackendTextureFlag, + 0, + kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); - // check adopt creation - backendCopy.fAlloc = backendTex->fAlloc; - tex = gpu->wrapBackendTexture(desc, kAdopt_GrWrapOwnership); + backendCopy.fAlloc = imageInfo->fAlloc; + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kNone_GrBackendTextureFlag, + 0, + kAdopt_GrWrapOwnership); + REPORTER_ASSERT(reporter, tex); gpu->deleteTestingOnlyBackendTexture(backendObj, true); @@ -110,38 +129,56 @@ void wrap_trt_test(skiatest::Reporter* reporter, GrContext* context) { GrBackendObject backendObj = gpu->createTestingOnlyBackendTexture(nullptr, kW, kH, kPixelConfig, true); - const GrVkImageInfo* backendTex = reinterpret_cast(backendObj); - - // check basic borrowed creation - GrBackendTextureDesc desc; - desc.fFlags = kRenderTarget_GrBackendTextureFlag; - desc.fConfig = kPixelConfig; - desc.fWidth = kW; - desc.fHeight = kH; - desc.fTextureHandle = backendObj; - sk_sp tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + const GrVkImageInfo* imageInfo = reinterpret_cast(backendObj); + + GrBackendTexture backendTex = GrBackendTexture(kW, kH, imageInfo); + sk_sp tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kRenderTarget_GrBackendTextureFlag, + 0, + kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, tex); // image is null - GrVkImageInfo backendCopy = *backendTex; + GrVkImageInfo backendCopy = *imageInfo; backendCopy.fImage = VK_NULL_HANDLE; - desc.fTextureHandle = (GrBackendObject)&backendCopy; - tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + backendTex = GrBackendTexture(kW, kH, &backendCopy); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kRenderTarget_GrBackendTextureFlag, + 0, + kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); - tex = gpu->wrapBackendTexture(desc, kAdopt_GrWrapOwnership); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kRenderTarget_GrBackendTextureFlag, + 0, + kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); // alloc is null - backendCopy.fImage = backendTex->fImage; + backendCopy.fImage = imageInfo->fImage; backendCopy.fAlloc = { VK_NULL_HANDLE, 0, 0, 0 }; - tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kRenderTarget_GrBackendTextureFlag, + 0, + kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); - tex = gpu->wrapBackendTexture(desc, kAdopt_GrWrapOwnership); + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kRenderTarget_GrBackendTextureFlag, + 0, + kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); // check adopt creation - backendCopy.fAlloc = backendTex->fAlloc; - tex = gpu->wrapBackendTexture(desc, kAdopt_GrWrapOwnership); + backendCopy.fAlloc = imageInfo->fAlloc; + tex = gpu->wrapBackendTexture(backendTex, + kTopLeft_GrSurfaceOrigin, + kRenderTarget_GrBackendTextureFlag, + 0, + kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, tex); gpu->deleteTestingOnlyBackendTexture(backendObj, true); -- cgit v1.2.3