From 7d2b16ad13fd3262c776ae75ae35da4ad69df690 Mon Sep 17 00:00:00 2001 From: Greg Daniel Date: Tue, 13 Mar 2018 16:44:48 -0400 Subject: Improve handling of GrPixelConfig in GrBackendTex/RT ctors Make sure that no client facing code was relying on what we set as the default value for fConfig by making in kUnkown. Bug: skia: Change-Id: Ie52ff08ba8deeacc16fe06eb0dd0c7292b2edf91 Reviewed-on: https://skia-review.googlesource.com/114261 Reviewed-by: Robert Phillips Reviewed-by: Brian Salomon Commit-Queue: Greg Daniel --- tests/VkWrapTests.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'tests/VkWrapTests.cpp') diff --git a/tests/VkWrapTests.cpp b/tests/VkWrapTests.cpp index 367fdb5c53..58270cd7da 100644 --- a/tests/VkWrapTests.cpp +++ b/tests/VkWrapTests.cpp @@ -46,6 +46,7 @@ void wrap_tex_test(skiatest::Reporter* reporter, GrContext* context) { GrVkImageInfo backendCopy = *imageInfo; backendCopy.fImage = VK_NULL_HANDLE; GrBackendTexture backendTex = GrBackendTexture(kW, kH, backendCopy); + backendTex.setPixelConfig(kPixelConfig); tex = gpu->wrapBackendTexture(backendTex, kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); tex = gpu->wrapBackendTexture(backendTex, kAdopt_GrWrapOwnership); @@ -57,6 +58,7 @@ void wrap_tex_test(skiatest::Reporter* reporter, GrContext* context) { GrVkImageInfo backendCopy = *imageInfo; backendCopy.fAlloc = GrVkAlloc(); GrBackendTexture backendTex = GrBackendTexture(kW, kH, backendCopy); + backendTex.setPixelConfig(kPixelConfig); tex = gpu->wrapBackendTexture(backendTex, kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); tex = gpu->wrapBackendTexture(backendTex, kAdopt_GrWrapOwnership); @@ -67,6 +69,7 @@ void wrap_tex_test(skiatest::Reporter* reporter, GrContext* context) { { GrVkImageInfo backendCopy = *imageInfo; GrBackendTexture backendTex = GrBackendTexture(kW, kH, backendCopy); + backendTex.setPixelConfig(kPixelConfig); tex = gpu->wrapBackendTexture(backendTex, kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, tex); @@ -76,12 +79,11 @@ void wrap_tex_test(skiatest::Reporter* reporter, GrContext* context) { void wrap_rt_test(skiatest::Reporter* reporter, GrContext* context) { GrVkGpu* gpu = static_cast(context->contextPriv().getGpu()); - GrBackendTexture origBackendTex = gpu->createTestingOnlyBackendTexture(nullptr, kW, kH, - kPixelConfig, true, - GrMipMapped::kNo); - const GrVkImageInfo* imageInfo = origBackendTex.getVkImageInfo(); + GrBackendRenderTarget origBackendRT = gpu->createTestingOnlyBackendRenderTarget( + kW, kH, GrColorType::kRGBA_8888, GrSRGBEncoded::kNo); - GrBackendRenderTarget origBackendRT(kW, kH, 1, 0, *imageInfo); + const GrVkImageInfo* imageInfo = origBackendRT.getVkImageInfo(); + GrPixelConfig pixelConfig = origBackendRT.getPixelConfig(); sk_sp rt = gpu->wrapBackendRenderTarget(origBackendRT); REPORTER_ASSERT(reporter, rt); @@ -91,6 +93,7 @@ void wrap_rt_test(skiatest::Reporter* reporter, GrContext* context) { GrVkImageInfo backendCopy = *imageInfo; backendCopy.fImage = VK_NULL_HANDLE; GrBackendRenderTarget backendRT(kW, kH, 1, 0, backendCopy); + backendRT.setPixelConfig(pixelConfig); rt = gpu->wrapBackendRenderTarget(backendRT); REPORTER_ASSERT(reporter, !rt); } @@ -101,13 +104,12 @@ void wrap_rt_test(skiatest::Reporter* reporter, GrContext* context) { backendCopy.fAlloc = GrVkAlloc(); // can wrap null alloc GrBackendRenderTarget backendRT(kW, kH, 1, 0, backendCopy); + backendRT.setPixelConfig(pixelConfig); rt = gpu->wrapBackendRenderTarget(backendRT); REPORTER_ASSERT(reporter, rt); } - // When we wrapBackendRenderTarget it is always borrowed, so we must make sure to free the - // resource when we're done. - gpu->deleteTestingOnlyBackendTexture(origBackendTex); + gpu->deleteTestingOnlyBackendRenderTarget(origBackendRT); } void wrap_trt_test(skiatest::Reporter* reporter, GrContext* context) { @@ -127,6 +129,7 @@ void wrap_trt_test(skiatest::Reporter* reporter, GrContext* context) { GrVkImageInfo backendCopy = *imageInfo; backendCopy.fImage = VK_NULL_HANDLE; GrBackendTexture backendTex = GrBackendTexture(kW, kH, backendCopy); + backendTex.setPixelConfig(kPixelConfig); tex = gpu->wrapRenderableBackendTexture(backendTex, 1, kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); tex = gpu->wrapRenderableBackendTexture(backendTex, 1, kAdopt_GrWrapOwnership); @@ -138,6 +141,7 @@ void wrap_trt_test(skiatest::Reporter* reporter, GrContext* context) { GrVkImageInfo backendCopy = *imageInfo; backendCopy.fAlloc = GrVkAlloc(); GrBackendTexture backendTex = GrBackendTexture(kW, kH, backendCopy); + backendTex.setPixelConfig(kPixelConfig); tex = gpu->wrapRenderableBackendTexture(backendTex, 1, kBorrow_GrWrapOwnership); REPORTER_ASSERT(reporter, !tex); tex = gpu->wrapRenderableBackendTexture(backendTex, 1, kAdopt_GrWrapOwnership); @@ -148,6 +152,7 @@ void wrap_trt_test(skiatest::Reporter* reporter, GrContext* context) { { GrVkImageInfo backendCopy = *imageInfo; GrBackendTexture backendTex = GrBackendTexture(kW, kH, backendCopy); + backendTex.setPixelConfig(kPixelConfig); tex = gpu->wrapRenderableBackendTexture(backendTex, 1, kAdopt_GrWrapOwnership); REPORTER_ASSERT(reporter, tex); } -- cgit v1.2.3