From b2c2a483e82ab669b91e2a2b2164caace9a21fd7 Mon Sep 17 00:00:00 2001
From: Lucas Murray <[EMAIL REDACTED]>
Date: Thu, 26 Dec 2024 13:00:19 +1100
Subject: [PATCH] GPU: Rename HDR10_ST2048 to HDR10_ST2084
---
include/SDL3/SDL_gpu.h | 4 ++--
src/gpu/SDL_sysgpu.h | 2 +-
src/gpu/d3d12/SDL_gpu_d3d12.c | 20 ++++++++++----------
src/gpu/metal/SDL_gpu_metal.m | 6 +++---
src/gpu/vulkan/SDL_gpu_vulkan.c | 26 +++++++++++++-------------
5 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/include/SDL3/SDL_gpu.h b/include/SDL3/SDL_gpu.h
index 637c25836b4c9..68b5c96b2788b 100644
--- a/include/SDL3/SDL_gpu.h
+++ b/include/SDL3/SDL_gpu.h
@@ -1219,7 +1219,7 @@ typedef enum SDL_GPUPresentMode
* - HDR_EXTENDED_LINEAR: R16G16B16A16_SFLOAT swapchain. Pixel values are in
* extended linear sRGB encoding and permits values outside of the [0, 1]
* range.
- * - HDR10_ST2048: A2R10G10B10 or A2B10G10R10 swapchain. Pixel values are in
+ * - HDR10_ST2084: A2R10G10B10 or A2B10G10R10 swapchain. Pixel values are in
* BT.2020 ST2084 (PQ) encoding.
*
* \since This enum is available since SDL 3.1.3
@@ -1233,7 +1233,7 @@ typedef enum SDL_GPUSwapchainComposition
SDL_GPU_SWAPCHAINCOMPOSITION_SDR,
SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR,
SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR,
- SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048
+ SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084
} SDL_GPUSwapchainComposition;
/* Structures */
diff --git a/src/gpu/SDL_sysgpu.h b/src/gpu/SDL_sysgpu.h
index 901fd9aba2aaa..b2723cce8f8b1 100644
--- a/src/gpu/SDL_sysgpu.h
+++ b/src/gpu/SDL_sysgpu.h
@@ -76,7 +76,7 @@ typedef struct BlitPipelineCacheEntry
#define SDL_GPU_STENCILOP_MAX_ENUM_VALUE (SDL_GPU_STENCILOP_DECREMENT_AND_WRAP + 1)
#define SDL_GPU_BLENDOP_MAX_ENUM_VALUE (SDL_GPU_BLENDOP_MAX + 1)
#define SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE (SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE + 1)
-#define SDL_GPU_SWAPCHAINCOMPOSITION_MAX_ENUM_VALUE (SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048 + 1)
+#define SDL_GPU_SWAPCHAINCOMPOSITION_MAX_ENUM_VALUE (SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 + 1)
#define SDL_GPU_PRESENTMODE_MAX_ENUM_VALUE (SDL_GPU_PRESENTMODE_MAILBOX + 1)
static inline Sint32 Texture_GetBlockWidth(
diff --git a/src/gpu/d3d12/SDL_gpu_d3d12.c b/src/gpu/d3d12/SDL_gpu_d3d12.c
index dc02000e6b151..6ab4fa858d459 100644
--- a/src/gpu/d3d12/SDL_gpu_d3d12.c
+++ b/src/gpu/d3d12/SDL_gpu_d3d12.c
@@ -191,23 +191,23 @@ typedef enum D3D12BufferType
static SDL_GPUTextureFormat SwapchainCompositionToSDLTextureFormat[] = {
SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM, // SDR
- SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB, // SDR_SRGB
- SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT, // HDR
- SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM, // HDR_ADVANCED
+ SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB, // SDR_LINEAR
+ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT, // HDR_EXTENDED_LINEAR
+ SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM, // HDR10_ST2084
};
static DXGI_FORMAT SwapchainCompositionToTextureFormat[] = {
- DXGI_FORMAT_B8G8R8A8_UNORM, // SDR
- DXGI_FORMAT_B8G8R8A8_UNORM, /* SDR_SRGB */ // NOTE: The RTV uses the sRGB format
- DXGI_FORMAT_R16G16B16A16_FLOAT, // HDR
- DXGI_FORMAT_R10G10B10A2_UNORM, // HDR_ADVANCED
+ DXGI_FORMAT_B8G8R8A8_UNORM, // SDR
+ DXGI_FORMAT_B8G8R8A8_UNORM, // SDR_LINEAR (NOTE: The RTV uses the sRGB format)
+ DXGI_FORMAT_R16G16B16A16_FLOAT, // HDR_EXTENDED_LINEAR
+ DXGI_FORMAT_R10G10B10A2_UNORM, // HDR10_ST2084
};
static DXGI_COLOR_SPACE_TYPE SwapchainCompositionToColorSpace[] = {
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, // SDR
- DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, // SDR_SRGB
- DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709, // HDR
- DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 // HDR_ADVANCED
+ DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709, // SDR_LINEAR
+ DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709, // HDR_EXTENDED_LINEAR
+ DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 // HDR10_ST2084
};
static D3D12_BLEND SDLToD3D12_BlendFactor[] = {
diff --git a/src/gpu/metal/SDL_gpu_metal.m b/src/gpu/metal/SDL_gpu_metal.m
index d2a970a18b1a1..92086f4063833 100644
--- a/src/gpu/metal/SDL_gpu_metal.m
+++ b/src/gpu/metal/SDL_gpu_metal.m
@@ -369,7 +369,7 @@ static MTLPixelFormat SDLToMetal_TextureFormat(SDL_GPUTextureFormat format)
SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM, // SDR
SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB, // SDR_LINEAR
SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT, // HDR_EXTENDED_LINEAR
- SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM, // HDR10_ST2048
+ SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM, // HDR10_ST2084
};
static CFStringRef SwapchainCompositionToColorSpace[4]; // initialized on device creation
@@ -3490,7 +3490,7 @@ static bool METAL_SupportsSwapchainComposition(
SDL_GPUSwapchainComposition swapchainComposition)
{
#ifndef SDL_PLATFORM_MACOS
- if (swapchainComposition == SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048) {
+ if (swapchainComposition == SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084) {
return false;
}
#endif
@@ -3498,7 +3498,7 @@ static bool METAL_SupportsSwapchainComposition(
if (@available(macOS 11.0, *)) {
return true;
} else {
- return swapchainComposition != SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048;
+ return swapchainComposition != SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084;
}
}
diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c
index 0e6f505a5610c..85450ce0ccb46 100644
--- a/src/gpu/vulkan/SDL_gpu_vulkan.c
+++ b/src/gpu/vulkan/SDL_gpu_vulkan.c
@@ -271,14 +271,14 @@ static VkFormat SwapchainCompositionToFormat[] = {
VK_FORMAT_B8G8R8A8_UNORM, // SDR
VK_FORMAT_B8G8R8A8_SRGB, // SDR_LINEAR
VK_FORMAT_R16G16B16A16_SFLOAT, // HDR_EXTENDED_LINEAR
- VK_FORMAT_A2B10G10R10_UNORM_PACK32 // HDR10_ST2048
+ VK_FORMAT_A2B10G10R10_UNORM_PACK32 // HDR10_ST2084
};
static VkFormat SwapchainCompositionToFallbackFormat[] = {
- VK_FORMAT_R8G8B8A8_UNORM,
- VK_FORMAT_R8G8B8A8_SRGB,
- VK_FORMAT_UNDEFINED, // no fallback
- VK_FORMAT_UNDEFINED // no fallback
+ VK_FORMAT_R8G8B8A8_UNORM, // SDR
+ VK_FORMAT_R8G8B8A8_SRGB, // SDR_LINEAR
+ VK_FORMAT_UNDEFINED, // HDR_EXTENDED_LINEAR (no fallback)
+ VK_FORMAT_UNDEFINED // HDR10_ST2084 (no fallback)
};
static SDL_GPUTextureFormat SwapchainCompositionToSDLFormat(
@@ -292,7 +292,7 @@ static SDL_GPUTextureFormat SwapchainCompositionToSDLFormat(
return usingFallback ? SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB : SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB;
case SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR:
return SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT;
- case SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048:
+ case SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084:
return SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM;
default:
return SDL_GPU_TEXTUREFORMAT_INVALID;
@@ -300,18 +300,18 @@ static SDL_GPUTextureFormat SwapchainCompositionToSDLFormat(
}
static VkColorSpaceKHR SwapchainCompositionToColorSpace[] = {
- VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
- VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
- VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,
- VK_COLOR_SPACE_HDR10_ST2084_EXT
+ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, // SDR
+ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, // SDR_LINEAR
+ VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT, // HDR_EXTENDED_LINEAR
+ VK_COLOR_SPACE_HDR10_ST2084_EXT // HDR10_ST2084
};
static VkComponentMapping SwapchainCompositionSwizzle[] = {
IDENTITY_SWIZZLE, // SDR
- IDENTITY_SWIZZLE, // SDR_SRGB
- IDENTITY_SWIZZLE, // HDR
+ IDENTITY_SWIZZLE, // SDR_LINEAR
+ IDENTITY_SWIZZLE, // HDR_EXTENDED_LINEAR
{
- // HDR_ADVANCED
+ // HDR10_ST2084
VK_COMPONENT_SWIZZLE_R,
VK_COMPONENT_SWIZZLE_G,
VK_COMPONENT_SWIZZLE_B,