diff options
Diffstat (limited to 'src/video_core/vulkan_common')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 95106f88f..7bf5b6578 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | namespace Vulkan { | 21 | namespace Vulkan { |
| 22 | namespace { | 22 | namespace { |
| 23 | namespace Alternatives { | 23 | namespace Alternatives { |
| 24 | constexpr std::array STENCIL8_UINT{ | ||
| 25 | VK_FORMAT_D16_UNORM_S8_UINT, | ||
| 26 | VK_FORMAT_D24_UNORM_S8_UINT, | ||
| 27 | VK_FORMAT_D32_SFLOAT_S8_UINT, | ||
| 28 | VK_FORMAT_UNDEFINED, | ||
| 29 | }; | ||
| 30 | |||
| 24 | constexpr std::array DEPTH24_UNORM_STENCIL8_UINT{ | 31 | constexpr std::array DEPTH24_UNORM_STENCIL8_UINT{ |
| 25 | VK_FORMAT_D32_SFLOAT_S8_UINT, | 32 | VK_FORMAT_D32_SFLOAT_S8_UINT, |
| 26 | VK_FORMAT_D16_UNORM_S8_UINT, | 33 | VK_FORMAT_D16_UNORM_S8_UINT, |
| @@ -74,6 +81,8 @@ void SetNext(void**& next, T& data) { | |||
| 74 | 81 | ||
| 75 | constexpr const VkFormat* GetFormatAlternatives(VkFormat format) { | 82 | constexpr const VkFormat* GetFormatAlternatives(VkFormat format) { |
| 76 | switch (format) { | 83 | switch (format) { |
| 84 | case VK_FORMAT_S8_UINT: | ||
| 85 | return Alternatives::STENCIL8_UINT.data(); | ||
| 77 | case VK_FORMAT_D24_UNORM_S8_UINT: | 86 | case VK_FORMAT_D24_UNORM_S8_UINT: |
| 78 | return Alternatives::DEPTH24_UNORM_STENCIL8_UINT.data(); | 87 | return Alternatives::DEPTH24_UNORM_STENCIL8_UINT.data(); |
| 79 | case VK_FORMAT_D16_UNORM_S8_UINT: | 88 | case VK_FORMAT_D16_UNORM_S8_UINT: |
| @@ -121,6 +130,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica | |||
| 121 | VK_FORMAT_R16G16_UNORM, | 130 | VK_FORMAT_R16G16_UNORM, |
| 122 | VK_FORMAT_R16G16_SNORM, | 131 | VK_FORMAT_R16G16_SNORM, |
| 123 | VK_FORMAT_R16G16_SFLOAT, | 132 | VK_FORMAT_R16G16_SFLOAT, |
| 133 | VK_FORMAT_R16G16_UINT, | ||
| 124 | VK_FORMAT_R16G16_SINT, | 134 | VK_FORMAT_R16G16_SINT, |
| 125 | VK_FORMAT_R16_UNORM, | 135 | VK_FORMAT_R16_UNORM, |
| 126 | VK_FORMAT_R16_SNORM, | 136 | VK_FORMAT_R16_SNORM, |
| @@ -145,6 +155,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica | |||
| 145 | VK_FORMAT_R4G4B4A4_UNORM_PACK16, | 155 | VK_FORMAT_R4G4B4A4_UNORM_PACK16, |
| 146 | VK_FORMAT_D32_SFLOAT, | 156 | VK_FORMAT_D32_SFLOAT, |
| 147 | VK_FORMAT_D16_UNORM, | 157 | VK_FORMAT_D16_UNORM, |
| 158 | VK_FORMAT_S8_UINT, | ||
| 148 | VK_FORMAT_D16_UNORM_S8_UINT, | 159 | VK_FORMAT_D16_UNORM_S8_UINT, |
| 149 | VK_FORMAT_D24_UNORM_S8_UINT, | 160 | VK_FORMAT_D24_UNORM_S8_UINT, |
| 150 | VK_FORMAT_D32_SFLOAT_S8_UINT, | 161 | VK_FORMAT_D32_SFLOAT_S8_UINT, |