diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/maxwell_to_vk.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp index a8540339d..35bf80ea3 100644 --- a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp +++ b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp | |||
| @@ -126,7 +126,7 @@ struct FormatTuple { | |||
| 126 | {VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1R5G5B5_UNORM | 126 | {VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1R5G5B5_UNORM |
| 127 | {VK_FORMAT_A2B10G10R10_UNORM_PACK32, Attachable | Storage}, // A2B10G10R10_UNORM | 127 | {VK_FORMAT_A2B10G10R10_UNORM_PACK32, Attachable | Storage}, // A2B10G10R10_UNORM |
| 128 | {VK_FORMAT_A2B10G10R10_UINT_PACK32, Attachable | Storage}, // A2B10G10R10_UINT | 128 | {VK_FORMAT_A2B10G10R10_UINT_PACK32, Attachable | Storage}, // A2B10G10R10_UINT |
| 129 | {VK_FORMAT_A2R10G10B10_UNORM_PACK32, Attachable | Storage}, // A2R10G10B10_UNORM | 129 | {VK_FORMAT_A2R10G10B10_UNORM_PACK32, Attachable}, // A2R10G10B10_UNORM |
| 130 | {VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1B5G5R5_UNORM (flipped with swizzle) | 130 | {VK_FORMAT_A1R5G5B5_UNORM_PACK16, Attachable}, // A1B5G5R5_UNORM (flipped with swizzle) |
| 131 | {VK_FORMAT_R5G5B5A1_UNORM_PACK16}, // A5B5G5R1_UNORM (specially swizzled) | 131 | {VK_FORMAT_R5G5B5A1_UNORM_PACK16}, // A5B5G5R1_UNORM (specially swizzled) |
| 132 | {VK_FORMAT_R8_UNORM, Attachable | Storage}, // R8_UNORM | 132 | {VK_FORMAT_R8_UNORM, Attachable | Storage}, // R8_UNORM |
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index adde96aa5..617417040 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -71,6 +71,11 @@ constexpr std::array R8G8B8_SSCALED{ | |||
| 71 | VK_FORMAT_UNDEFINED, | 71 | VK_FORMAT_UNDEFINED, |
| 72 | }; | 72 | }; |
| 73 | 73 | ||
| 74 | constexpr std::array VK_FORMAT_R32G32B32_SFLOAT{ | ||
| 75 | VK_FORMAT_R32G32B32A32_SFLOAT, | ||
| 76 | VK_FORMAT_UNDEFINED, | ||
| 77 | }; | ||
| 78 | |||
| 74 | } // namespace Alternatives | 79 | } // namespace Alternatives |
| 75 | 80 | ||
| 76 | enum class NvidiaArchitecture { | 81 | enum class NvidiaArchitecture { |
| @@ -103,6 +108,8 @@ constexpr const VkFormat* GetFormatAlternatives(VkFormat format) { | |||
| 103 | return Alternatives::R16G16B16_SSCALED.data(); | 108 | return Alternatives::R16G16B16_SSCALED.data(); |
| 104 | case VK_FORMAT_R8G8B8_SSCALED: | 109 | case VK_FORMAT_R8G8B8_SSCALED: |
| 105 | return Alternatives::R8G8B8_SSCALED.data(); | 110 | return Alternatives::R8G8B8_SSCALED.data(); |
| 111 | case VK_FORMAT_R32G32B32_SFLOAT: | ||
| 112 | return Alternatives::VK_FORMAT_R32G32B32_SFLOAT.data(); | ||
| 106 | default: | 113 | default: |
| 107 | return nullptr; | 114 | return nullptr; |
| 108 | } | 115 | } |
| @@ -130,6 +137,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica | |||
| 130 | VK_FORMAT_A2B10G10R10_UINT_PACK32, | 137 | VK_FORMAT_A2B10G10R10_UINT_PACK32, |
| 131 | VK_FORMAT_A2B10G10R10_UNORM_PACK32, | 138 | VK_FORMAT_A2B10G10R10_UNORM_PACK32, |
| 132 | VK_FORMAT_A2B10G10R10_USCALED_PACK32, | 139 | VK_FORMAT_A2B10G10R10_USCALED_PACK32, |
| 140 | VK_FORMAT_A2R10G10B10_UNORM_PACK32, | ||
| 133 | VK_FORMAT_A8B8G8R8_SINT_PACK32, | 141 | VK_FORMAT_A8B8G8R8_SINT_PACK32, |
| 134 | VK_FORMAT_A8B8G8R8_SNORM_PACK32, | 142 | VK_FORMAT_A8B8G8R8_SNORM_PACK32, |
| 135 | VK_FORMAT_A8B8G8R8_SRGB_PACK32, | 143 | VK_FORMAT_A8B8G8R8_SRGB_PACK32, |