diff options
Diffstat (limited to 'tests/VkWrapTests.cpp')
-rw-r--r-- | tests/VkWrapTests.cpp | 113 |
1 files changed, 75 insertions, 38 deletions
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<const GrVkImageInfo*>(backendObj); - - // check basic borrowed creation - GrBackendTextureDesc desc; - desc.fConfig = kPixelConfig; - desc.fWidth = kW; - desc.fHeight = kH; - desc.fTextureHandle = backendObj; - sk_sp<GrTexture> tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + const GrVkImageInfo* imageInfo = reinterpret_cast<const GrVkImageInfo*>(backendObj); + + GrBackendTexture backendTex = GrBackendTexture(kW, kH, imageInfo); + sk_sp<GrTexture> 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<const GrVkImageInfo*>(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<GrTexture> tex = gpu->wrapBackendTexture(desc, kBorrow_GrWrapOwnership); + const GrVkImageInfo* imageInfo = reinterpret_cast<const GrVkImageInfo*>(backendObj); + + GrBackendTexture backendTex = GrBackendTexture(kW, kH, imageInfo); + sk_sp<GrTexture> 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); |