From f8bcb9ce4ee90679fa192cc20ed1c69ca1b278e8 Mon Sep 17 00:00:00 2001 From: Hog Date: Sun, 7 Jun 2026 19:41:29 +0100 Subject: [PATCH] Refactor sRGB format handling for BC formats --- src/video_core/amdgpu/pixel_format.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/video_core/amdgpu/pixel_format.h b/src/video_core/amdgpu/pixel_format.h index 69e082edb..f9bfae711 100644 --- a/src/video_core/amdgpu/pixel_format.h +++ b/src/video_core/amdgpu/pixel_format.h @@ -221,7 +221,16 @@ constexpr NumberFormat RemapNumberFormat(const NumberFormat format, const DataFo } } case NumberFormat::Srgb: - return data_format == DataFormat::FormatBc6 ? NumberFormat::Unorm : format; + switch (data_format) { + case DataFormat::FormatBc4: + case DataFormat::FormatBc5: + case DataFormat::FormatBc6: + // BC4/BC5 store non-color data (single/two-channel, used for normal maps), + // and BC6 is HDR float — none have sRGB Vulkan equivalents. + return NumberFormat::Unorm; + default: + return format; + } case NumberFormat::Uscaled: return NumberFormat::Uint; case NumberFormat::Sscaled: