mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-05 19:08:12 +00:00
GPU: Rename HDR10_ST2048 to HDR10_ST2084
This commit is contained in:

committed by
Sam Lantinga

parent
fe39509b85
commit
b2c2a483e8
@@ -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 */
|
||||
|
@@ -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(
|
||||
|
@@ -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[] = {
|
||||
|
@@ -369,7 +369,7 @@ static SDL_GPUTextureFormat SwapchainCompositionToFormat[] = {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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,
|
||||
|
Reference in New Issue
Block a user