[Vulkan] Adding and Fix Texture Formats

This commit is contained in:
Xphalnos 2025-04-05 17:36:40 +02:00
parent 4b24f128f6
commit eb55b5bd58
4 changed files with 16 additions and 19 deletions

View File

@ -173,17 +173,13 @@ const VulkanTextureCache::HostFormatPair
{kLoadShaderIndexUnknown}, {kLoadShaderIndexUnknown},
xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA}, xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA},
// k_10_11_11 // k_10_11_11
// TODO(Triang3l): 16_UNORM/SNORM are optional, convert to float16 {{kLoadShaderIndex32bpb, VK_FORMAT_B10G11R11_UFLOAT_PACK32},
// instead. {kLoadShaderIndexUnknown},
{{kLoadShaderIndexR11G11B10ToRGBA16, VK_FORMAT_R16G16B16A16_UNORM}, xenos::XE_GPU_TEXTURE_SWIZZLE_BGRR},
{kLoadShaderIndexR11G11B10ToRGBA16SNorm, VK_FORMAT_R16G16B16A16_SNORM},
xenos::XE_GPU_TEXTURE_SWIZZLE_RGBB},
// k_11_11_10 // k_11_11_10
// TODO(Triang3l): 16_UNORM/SNORM are optional, convert to float16 {{kLoadShaderIndex32bpb, VK_FORMAT_B10G11R11_UFLOAT_PACK32},
// instead. {kLoadShaderIndexUnknown},
{{kLoadShaderIndexR10G11B11ToRGBA16, VK_FORMAT_R16G16B16A16_UNORM}, xenos::XE_GPU_TEXTURE_SWIZZLE_BGRR},
{kLoadShaderIndexR10G11B11ToRGBA16SNorm, VK_FORMAT_R16G16B16A16_SNORM},
xenos::XE_GPU_TEXTURE_SWIZZLE_RGBB},
// k_DXT1 // k_DXT1
// VK_FORMAT_BC1_RGBA_UNORM_BLOCK is optional. // VK_FORMAT_BC1_RGBA_UNORM_BLOCK is optional.
{{kLoadShaderIndex64bpb, VK_FORMAT_BC1_RGBA_UNORM_BLOCK, true}, {{kLoadShaderIndex64bpb, VK_FORMAT_BC1_RGBA_UNORM_BLOCK, true},
@ -205,7 +201,7 @@ const VulkanTextureCache::HostFormatPair
{kLoadShaderIndexUnknown}, {kLoadShaderIndexUnknown},
xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA}, xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA},
// k_24_8 // k_24_8
{{kLoadShaderIndexDepthUnorm, VK_FORMAT_R32_SFLOAT}, {{kLoadShaderIndexDepthUnorm, VK_FORMAT_D24_UNORM_S8_UINT},
{kLoadShaderIndexUnknown}, {kLoadShaderIndexUnknown},
xenos::XE_GPU_TEXTURE_SWIZZLE_RRRR}, xenos::XE_GPU_TEXTURE_SWIZZLE_RRRR},
// k_24_8_FLOAT // k_24_8_FLOAT
@ -262,16 +258,16 @@ const VulkanTextureCache::HostFormatPair
xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA, xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA,
true}, true},
// k_32 // k_32
{{kLoadShaderIndexUnknown}, {{kLoadShaderIndex32bpb, VK_FORMAT_R32_UINT},
{kLoadShaderIndexUnknown}, {kLoadShaderIndex32bpb, VK_FORMAT_R32_SINT},
xenos::XE_GPU_TEXTURE_SWIZZLE_RRRR}, xenos::XE_GPU_TEXTURE_SWIZZLE_RRRR},
// k_32_32 // k_32_32
{{kLoadShaderIndexUnknown}, {{kLoadShaderIndex64bpb, VK_FORMAT_R32G32_UINT},
{kLoadShaderIndexUnknown}, {kLoadShaderIndex64bpb, VK_FORMAT_R32G32_SINT},
xenos::XE_GPU_TEXTURE_SWIZZLE_RGGG}, xenos::XE_GPU_TEXTURE_SWIZZLE_RGGG},
// k_32_32_32_32 // k_32_32_32_32
{{kLoadShaderIndexUnknown}, {{kLoadShaderIndex128bpb, VK_FORMAT_R32G32B32A32_UINT},
{kLoadShaderIndexUnknown}, {kLoadShaderIndex128bpb, VK_FORMAT_R32G32B32A32_SINT},
xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA}, xenos::XE_GPU_TEXTURE_SWIZZLE_RGBA},
// k_32_FLOAT // k_32_FLOAT
{{kLoadShaderIndex32bpb, VK_FORMAT_R32_SFLOAT}, {{kLoadShaderIndex32bpb, VK_FORMAT_R32_SFLOAT},

View File

@ -1047,6 +1047,7 @@ typedef enum {
XE_GPU_TEXTURE_SWIZZLE_RGGG = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, G, G), XE_GPU_TEXTURE_SWIZZLE_RGGG = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, G, G),
XE_GPU_TEXTURE_SWIZZLE_RGBB = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, B, B), XE_GPU_TEXTURE_SWIZZLE_RGBB = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, B, B),
XE_GPU_TEXTURE_SWIZZLE_RGBA = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, B, A), XE_GPU_TEXTURE_SWIZZLE_RGBA = XE_GPU_MAKE_TEXTURE_SWIZZLE(R, G, B, A),
XE_GPU_TEXTURE_SWIZZLE_BGRR = XE_GPU_MAKE_TEXTURE_SWIZZLE(B, G, R, R),
XE_GPU_TEXTURE_SWIZZLE_0000 = XE_GPU_MAKE_TEXTURE_SWIZZLE(0, 0, 0, 0), XE_GPU_TEXTURE_SWIZZLE_0000 = XE_GPU_MAKE_TEXTURE_SWIZZLE(0, 0, 0, 0),
} XE_GPU_TEXTURE_SWIZZLE; } XE_GPU_TEXTURE_SWIZZLE;

@ -1 +1 @@
Subproject commit c6391a7b8cd57e79ce6b6c832c8e3043c4d9967b Subproject commit 5ceb9ed481e58e705d0d9b5326537daedd06b97d

@ -1 +1 @@
Subproject commit 3bab6924988e5f19bf36586a496156cf72f70d9f Subproject commit c788c52156f3ef7bc7ab769cb03c110a53ac8fcb