diff options
Diffstat (limited to 'src/gpu/vk/GrVkGpu.cpp')
-rw-r--r-- | src/gpu/vk/GrVkGpu.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp index 800751053a..ff0f5bcbe3 100644 --- a/src/gpu/vk/GrVkGpu.cpp +++ b/src/gpu/vk/GrVkGpu.cpp @@ -1251,10 +1251,14 @@ bool GrVkGpu::createTestingOnlyVkImage(GrPixelConfig config, int w, int h, bool mipLevels = SkMipMap::ComputeLevelCount(w, h) + 1; } + // sRGB format images may need to be aliased to linear for various reasons (legacy mode): + VkImageCreateFlags createFlags = GrVkFormatIsSRGB(pixelFormat, nullptr) + ? VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT : 0; + const VkImageCreateInfo imageCreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // sType nullptr, // pNext - 0, // VkImageCreateFlags + createFlags, // VkImageCreateFlags VK_IMAGE_TYPE_2D, // VkImageType pixelFormat, // VkFormat {(uint32_t)w, (uint32_t)h, 1}, // VkExtent3D |