|
@@ -136,36 +136,55 @@ static VkPresentModeKHR SDLToVK_PresentMode[] = {
|
|
|
};
|
|
|
|
|
|
static VkFormat SDLToVK_SurfaceFormat[] = {
|
|
|
+ VK_FORMAT_R8_UNORM, // A8_UNORM
|
|
|
+ VK_FORMAT_R8_UNORM, // R8_UNORM
|
|
|
+ VK_FORMAT_R8G8_UNORM, // R8G8_UNORM
|
|
|
VK_FORMAT_R8G8B8A8_UNORM, // R8G8B8A8_UNORM
|
|
|
- VK_FORMAT_B8G8R8A8_UNORM, // B8G8R8A8_UNORM
|
|
|
+ VK_FORMAT_R16_UNORM, // R16_UNORM
|
|
|
+ VK_FORMAT_R16G16_UNORM, // R16G16_UNORM
|
|
|
+ VK_FORMAT_R16G16B16A16_UNORM, // R16G16B16A16_UNORM
|
|
|
+ VK_FORMAT_A2B10G10R10_UNORM_PACK32, // R10G10B10A2_UNORM
|
|
|
VK_FORMAT_R5G6B5_UNORM_PACK16, // B5G6R5_UNORM
|
|
|
VK_FORMAT_A1R5G5B5_UNORM_PACK16, // B5G5R5A1_UNORM
|
|
|
VK_FORMAT_B4G4R4A4_UNORM_PACK16, // B4G4R4A4_UNORM
|
|
|
- VK_FORMAT_A2B10G10R10_UNORM_PACK32, // R10G10B10A2_UNORM
|
|
|
- VK_FORMAT_R16G16_UNORM, // R16G16_UNORM
|
|
|
- VK_FORMAT_R16G16B16A16_UNORM, // R16G16B16A16_UNORM
|
|
|
- VK_FORMAT_R8_UNORM, // R8_UNORM
|
|
|
- VK_FORMAT_R8_UNORM, // A8_UNORM
|
|
|
+ VK_FORMAT_B8G8R8A8_UNORM, // B8G8R8A8_UNORM
|
|
|
VK_FORMAT_BC1_RGBA_UNORM_BLOCK, // BC1_UNORM
|
|
|
VK_FORMAT_BC2_UNORM_BLOCK, // BC2_UNORM
|
|
|
VK_FORMAT_BC3_UNORM_BLOCK, // BC3_UNORM
|
|
|
+ VK_FORMAT_BC4_UNORM_BLOCK, // BC4_UNORM
|
|
|
+ VK_FORMAT_BC5_UNORM_BLOCK, // BC5_UNORM
|
|
|
VK_FORMAT_BC7_UNORM_BLOCK, // BC7_UNORM
|
|
|
+ VK_FORMAT_BC6H_SFLOAT_BLOCK, // BC6H_FLOAT
|
|
|
+ VK_FORMAT_BC6H_UFLOAT_BLOCK, // BC6H_UFLOAT
|
|
|
+ VK_FORMAT_R8_SNORM, // R8_SNORM
|
|
|
VK_FORMAT_R8G8_SNORM, // R8G8_SNORM
|
|
|
VK_FORMAT_R8G8B8A8_SNORM, // R8G8B8A8_SNORM
|
|
|
+ VK_FORMAT_R16_SNORM, // R16_SNORM
|
|
|
+ VK_FORMAT_R16G16_SNORM, // R16G16_SNORM
|
|
|
+ VK_FORMAT_R16G16B16A16_SNORM, // R16G16B16A16_SNORM
|
|
|
VK_FORMAT_R16_SFLOAT, // R16_FLOAT
|
|
|
VK_FORMAT_R16G16_SFLOAT, // R16G16_FLOAT
|
|
|
VK_FORMAT_R16G16B16A16_SFLOAT, // R16G16B16A16_FLOAT
|
|
|
VK_FORMAT_R32_SFLOAT, // R32_FLOAT
|
|
|
VK_FORMAT_R32G32_SFLOAT, // R32G32_FLOAT
|
|
|
VK_FORMAT_R32G32B32A32_SFLOAT, // R32G32B32A32_FLOAT
|
|
|
+ VK_FORMAT_B10G11R11_UFLOAT_PACK32, // R11G11B10_UFLOAT
|
|
|
VK_FORMAT_R8_UINT, // R8_UINT
|
|
|
VK_FORMAT_R8G8_UINT, // R8G8_UINT
|
|
|
VK_FORMAT_R8G8B8A8_UINT, // R8G8B8A8_UINT
|
|
|
VK_FORMAT_R16_UINT, // R16_UINT
|
|
|
VK_FORMAT_R16G16_UINT, // R16G16_UINT
|
|
|
VK_FORMAT_R16G16B16A16_UINT, // R16G16B16A16_UINT
|
|
|
+ VK_FORMAT_R8_SINT, // R8_INT
|
|
|
+ VK_FORMAT_R8G8_SINT, // R8G8_INT
|
|
|
+ VK_FORMAT_R8G8B8A8_SINT, // R8G8B8A8_INT
|
|
|
+ VK_FORMAT_R16_SINT, // R16_INT
|
|
|
+ VK_FORMAT_R16G16_SINT, // R16G16_INT
|
|
|
+ VK_FORMAT_R16G16B16A16_SINT, // R16G16B16A16_INT
|
|
|
VK_FORMAT_R8G8B8A8_SRGB, // R8G8B8A8_UNORM_SRGB
|
|
|
VK_FORMAT_B8G8R8A8_SRGB, // B8G8R8A8_UNORM_SRGB
|
|
|
+ VK_FORMAT_BC1_RGBA_SRGB_BLOCK, // BC1_UNORM_SRGB
|
|
|
+ VK_FORMAT_BC2_SRGB_BLOCK, // BC3_UNORM_SRGB
|
|
|
VK_FORMAT_BC3_SRGB_BLOCK, // BC3_UNORM_SRGB
|
|
|
VK_FORMAT_BC7_SRGB_BLOCK, // BC7_UNORM_SRGB
|
|
|
VK_FORMAT_D16_UNORM, // D16_UNORM
|
|
@@ -177,8 +196,26 @@ static VkFormat SDLToVK_SurfaceFormat[] = {
|
|
|
SDL_COMPILE_TIME_ASSERT(SDLToVK_SurfaceFormat, SDL_arraysize(SDLToVK_SurfaceFormat) == SDL_GPU_TEXTUREFORMAT_MAX);
|
|
|
|
|
|
static VkComponentMapping SDLToVK_SurfaceSwizzle[] = {
|
|
|
+ {
|
|
|
+ // A8
|
|
|
+ VK_COMPONENT_SWIZZLE_ZERO,
|
|
|
+ VK_COMPONENT_SWIZZLE_ZERO,
|
|
|
+ VK_COMPONENT_SWIZZLE_ZERO,
|
|
|
+ VK_COMPONENT_SWIZZLE_R,
|
|
|
+ },
|
|
|
+ IDENTITY_SWIZZLE, // R8
|
|
|
+ IDENTITY_SWIZZLE, // R8G8
|
|
|
IDENTITY_SWIZZLE, // R8G8B8A8
|
|
|
- IDENTITY_SWIZZLE, // B8G8R8A8
|
|
|
+ IDENTITY_SWIZZLE, // R16
|
|
|
+ IDENTITY_SWIZZLE, // R16G16
|
|
|
+ IDENTITY_SWIZZLE, // R16G16B16A16
|
|
|
+ {
|
|
|
+ // R10G10B10A2
|
|
|
+ VK_COMPONENT_SWIZZLE_R,
|
|
|
+ VK_COMPONENT_SWIZZLE_G,
|
|
|
+ VK_COMPONENT_SWIZZLE_B,
|
|
|
+ VK_COMPONENT_SWIZZLE_A,
|
|
|
+ },
|
|
|
{
|
|
|
// B5G6R5
|
|
|
VK_COMPONENT_SWIZZLE_B,
|
|
@@ -194,43 +231,50 @@ static VkComponentMapping SDLToVK_SurfaceSwizzle[] = {
|
|
|
VK_COMPONENT_SWIZZLE_A,
|
|
|
},
|
|
|
IDENTITY_SWIZZLE, // B4G4R4A4
|
|
|
- {
|
|
|
- // R10G10B10A2
|
|
|
- VK_COMPONENT_SWIZZLE_R,
|
|
|
- VK_COMPONENT_SWIZZLE_G,
|
|
|
- VK_COMPONENT_SWIZZLE_B,
|
|
|
- VK_COMPONENT_SWIZZLE_A,
|
|
|
- },
|
|
|
- IDENTITY_SWIZZLE, // R16G16
|
|
|
- IDENTITY_SWIZZLE, // R16G16B16A16
|
|
|
- IDENTITY_SWIZZLE, // R8
|
|
|
- {
|
|
|
- // A8
|
|
|
- VK_COMPONENT_SWIZZLE_ZERO,
|
|
|
- VK_COMPONENT_SWIZZLE_ZERO,
|
|
|
- VK_COMPONENT_SWIZZLE_ZERO,
|
|
|
- VK_COMPONENT_SWIZZLE_R,
|
|
|
- },
|
|
|
+ IDENTITY_SWIZZLE, // B8G8R8A8
|
|
|
IDENTITY_SWIZZLE, // BC1
|
|
|
IDENTITY_SWIZZLE, // BC2
|
|
|
IDENTITY_SWIZZLE, // BC3
|
|
|
+ IDENTITY_SWIZZLE, // BC4
|
|
|
+ IDENTITY_SWIZZLE, // BC5
|
|
|
IDENTITY_SWIZZLE, // BC7
|
|
|
+ IDENTITY_SWIZZLE, // BC6H_FLOAT
|
|
|
+ IDENTITY_SWIZZLE, // BC6H_UFLOAT
|
|
|
+ IDENTITY_SWIZZLE, // R8_SNORM
|
|
|
IDENTITY_SWIZZLE, // R8G8_SNORM
|
|
|
IDENTITY_SWIZZLE, // R8G8B8A8_SNORM
|
|
|
+ IDENTITY_SWIZZLE, // R16_SNORM
|
|
|
+ IDENTITY_SWIZZLE, // R16G16_SNORM
|
|
|
+ IDENTITY_SWIZZLE, // R16G16B16A16_SNORM
|
|
|
IDENTITY_SWIZZLE, // R16_SFLOAT
|
|
|
IDENTITY_SWIZZLE, // R16G16_SFLOAT
|
|
|
IDENTITY_SWIZZLE, // R16G16B16A16_SFLOAT
|
|
|
IDENTITY_SWIZZLE, // R32_SFLOAT
|
|
|
IDENTITY_SWIZZLE, // R32G32_SFLOAT
|
|
|
IDENTITY_SWIZZLE, // R32G32B32A32_SFLOAT
|
|
|
+ {
|
|
|
+ // R11G11B10_UFLOAT
|
|
|
+ VK_COMPONENT_SWIZZLE_R,
|
|
|
+ VK_COMPONENT_SWIZZLE_G,
|
|
|
+ VK_COMPONENT_SWIZZLE_B,
|
|
|
+ VK_COMPONENT_SWIZZLE_ONE,
|
|
|
+ },
|
|
|
IDENTITY_SWIZZLE, // R8_UINT
|
|
|
IDENTITY_SWIZZLE, // R8G8_UINT
|
|
|
IDENTITY_SWIZZLE, // R8G8B8A8_UINT
|
|
|
IDENTITY_SWIZZLE, // R16_UINT
|
|
|
IDENTITY_SWIZZLE, // R16G16_UINT
|
|
|
IDENTITY_SWIZZLE, // R16G16B16A16_UINT
|
|
|
+ IDENTITY_SWIZZLE, // R8_INT
|
|
|
+ IDENTITY_SWIZZLE, // R8G8_INT
|
|
|
+ IDENTITY_SWIZZLE, // R8G8B8A8_INT
|
|
|
+ IDENTITY_SWIZZLE, // R16_INT
|
|
|
+ IDENTITY_SWIZZLE, // R16G16_INT
|
|
|
+ IDENTITY_SWIZZLE, // R16G16B16A16_INT
|
|
|
IDENTITY_SWIZZLE, // R8G8B8A8_SRGB
|
|
|
IDENTITY_SWIZZLE, // B8G8R8A8_SRGB
|
|
|
+ IDENTITY_SWIZZLE, // BC1_SRGB
|
|
|
+ IDENTITY_SWIZZLE, // BC2_SRGB
|
|
|
IDENTITY_SWIZZLE, // BC3_SRGB
|
|
|
IDENTITY_SWIZZLE, // BC7_SRGB
|
|
|
IDENTITY_SWIZZLE, // D16_UNORM
|