Merge pull request #11310 from vonchenplus/vulkan_format
video_core: Fix vulkan format assert error
This commit is contained in:
commit
0383ae1dbf
|
@ -126,7 +126,7 @@ struct FormatTuple {
|
||||||
{VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1R5G5B5_UNORM
|
{VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1R5G5B5_UNORM
|
||||||
{VK_FORMAT_A2B10G10R10_UNORM_PACK32, Attachable | Storage}, // A2B10G10R10_UNORM
|
{VK_FORMAT_A2B10G10R10_UNORM_PACK32, Attachable | Storage}, // A2B10G10R10_UNORM
|
||||||
{VK_FORMAT_A2B10G10R10_UINT_PACK32, Attachable | Storage}, // A2B10G10R10_UINT
|
{VK_FORMAT_A2B10G10R10_UINT_PACK32, Attachable | Storage}, // A2B10G10R10_UINT
|
||||||
{VK_FORMAT_A2R10G10B10_UNORM_PACK32, Attachable | Storage}, // A2R10G10B10_UNORM
|
{VK_FORMAT_A2R10G10B10_UNORM_PACK32, Attachable}, // A2R10G10B10_UNORM
|
||||||
{VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1B5G5R5_UNORM (flipped with swizzle)
|
{VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1B5G5R5_UNORM (flipped with swizzle)
|
||||||
{VK_FORMAT_R5G5B5A1_UNORM_PACK16}, // A5B5G5R1_UNORM (specially swizzled)
|
{VK_FORMAT_R5G5B5A1_UNORM_PACK16}, // A5B5G5R1_UNORM (specially swizzled)
|
||||||
{VK_FORMAT_R8_UNORM, Attachable | Storage}, // R8_UNORM
|
{VK_FORMAT_R8_UNORM, Attachable | Storage}, // R8_UNORM
|
||||||
|
|
|
@ -71,6 +71,11 @@ constexpr std::array R8G8B8_SSCALED{
|
||||||
VK_FORMAT_UNDEFINED,
|
VK_FORMAT_UNDEFINED,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr std::array VK_FORMAT_R32G32B32_SFLOAT{
|
||||||
|
VK_FORMAT_R32G32B32A32_SFLOAT,
|
||||||
|
VK_FORMAT_UNDEFINED,
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace Alternatives
|
} // namespace Alternatives
|
||||||
|
|
||||||
enum class NvidiaArchitecture {
|
enum class NvidiaArchitecture {
|
||||||
|
@ -103,6 +108,8 @@ constexpr const VkFormat* GetFormatAlternatives(VkFormat format) {
|
||||||
return Alternatives::R16G16B16_SSCALED.data();
|
return Alternatives::R16G16B16_SSCALED.data();
|
||||||
case VK_FORMAT_R8G8B8_SSCALED:
|
case VK_FORMAT_R8G8B8_SSCALED:
|
||||||
return Alternatives::R8G8B8_SSCALED.data();
|
return Alternatives::R8G8B8_SSCALED.data();
|
||||||
|
case VK_FORMAT_R32G32B32_SFLOAT:
|
||||||
|
return Alternatives::VK_FORMAT_R32G32B32_SFLOAT.data();
|
||||||
default:
|
default:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -130,6 +137,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica
|
||||||
VK_FORMAT_A2B10G10R10_UINT_PACK32,
|
VK_FORMAT_A2B10G10R10_UINT_PACK32,
|
||||||
VK_FORMAT_A2B10G10R10_UNORM_PACK32,
|
VK_FORMAT_A2B10G10R10_UNORM_PACK32,
|
||||||
VK_FORMAT_A2B10G10R10_USCALED_PACK32,
|
VK_FORMAT_A2B10G10R10_USCALED_PACK32,
|
||||||
|
VK_FORMAT_A2R10G10B10_UNORM_PACK32,
|
||||||
VK_FORMAT_A8B8G8R8_SINT_PACK32,
|
VK_FORMAT_A8B8G8R8_SINT_PACK32,
|
||||||
VK_FORMAT_A8B8G8R8_SNORM_PACK32,
|
VK_FORMAT_A8B8G8R8_SNORM_PACK32,
|
||||||
VK_FORMAT_A8B8G8R8_SRGB_PACK32,
|
VK_FORMAT_A8B8G8R8_SRGB_PACK32,
|
||||||
|
|
Reference in New Issue