diff --git a/src/modules/graphics/vulkan/Graphics.cpp b/src/modules/graphics/vulkan/Graphics.cpp index 3784cbcf2..14e5e8b4a 100644 --- a/src/modules/graphics/vulkan/Graphics.cpp +++ b/src/modules/graphics/vulkan/Graphics.cpp @@ -121,11 +121,14 @@ void Graphics::clear(OptionalColorD color, OptionalInt stencil, OptionalDouble d if (color.hasValue) { + Colorf cf((float)color.value.r, (float)color.value.g, (float)color.value.b, (float)color.value.a); + gammaCorrectColor(cf); + attachment.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - attachment.clearValue.color.float32[0] = static_cast(color.value.r); - attachment.clearValue.color.float32[1] = static_cast(color.value.g); - attachment.clearValue.color.float32[2] = static_cast(color.value.b); - attachment.clearValue.color.float32[3] = static_cast(color.value.a); + attachment.clearValue.color.float32[0] = static_cast(cf.r); + attachment.clearValue.color.float32[1] = static_cast(cf.g); + attachment.clearValue.color.float32[2] = static_cast(cf.b); + attachment.clearValue.color.float32[3] = static_cast(cf.a); } VkClearAttachment depthStencilAttachment{}; @@ -168,11 +171,14 @@ void Graphics::clear(const std::vector &colors, OptionalInt sten VkClearAttachment attachment{}; if (color.hasValue) { + Colorf cf((float)color.value.r, (float)color.value.g, (float)color.value.b, (float)color.value.a); + gammaCorrectColor(cf); + attachment.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - attachment.clearValue.color.float32[0] = static_cast(color.value.r); - attachment.clearValue.color.float32[1] = static_cast(color.value.g); - attachment.clearValue.color.float32[2] = static_cast(color.value.b); - attachment.clearValue.color.float32[3] = static_cast(color.value.a); + attachment.clearValue.color.float32[0] = static_cast(cf.r); + attachment.clearValue.color.float32[1] = static_cast(cf.g); + attachment.clearValue.color.float32[2] = static_cast(cf.b); + attachment.clearValue.color.float32[3] = static_cast(cf.a); } attachments.push_back(attachment); }