OSDN Git Service

sRGB filtering fix
authorAlexis Hetu <sugoi@google.com>
Fri, 15 Mar 2019 12:32:49 +0000 (08:32 -0400)
committerAlexis Hétu <sugoi@google.com>
Fri, 15 Mar 2019 18:10:34 +0000 (18:10 +0000)
Enable sRGB conversion when filtering sRGB images

Tests: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*

Bug b/119620767

Change-Id: If56a3f74fbf3ee576d9baab44722a13a1ad0d436
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27288
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>

src/Device/Blitter.cpp

index 0f678dd..28ded9a 100644 (file)
@@ -1542,7 +1542,7 @@ namespace sw
                VkImageAspectFlagBits dstAspect = static_cast<VkImageAspectFlagBits>(region.dstSubresource.aspectMask);
 
                State state(src->getFormat(srcAspect), dst->getFormat(dstAspect), dst->getSampleCountFlagBits(),
-                           { filter != VK_FILTER_NEAREST, srcAspect == VK_IMAGE_ASPECT_STENCIL_BIT, false });
+                           { filter != VK_FILTER_NEAREST, srcAspect == VK_IMAGE_ASPECT_STENCIL_BIT, filter != VK_FILTER_NEAREST });
                state.clampToEdge = (region.srcOffsets[0].x < 0) ||
                                    (region.srcOffsets[0].y < 0) ||
                                    (static_cast<uint32_t>(region.srcOffsets[1].x) > srcExtent.width) ||