diff options
| -rw-r--r-- | src/video_core/gpu.h | 1 | ||||
| -rw-r--r-- | src/video_core/morton.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_texture_cache.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/maxwell_to_vk.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_device.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/surface.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/surface.h | 5 |
7 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index a6f846f3c..b0a2ad21b 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h | |||
| @@ -46,6 +46,7 @@ enum class RenderTargetFormat : u32 { | |||
| 46 | RGBA16_UINT = 0xC9, | 46 | RGBA16_UINT = 0xC9, |
| 47 | RGBA16_FLOAT = 0xCA, | 47 | RGBA16_FLOAT = 0xCA, |
| 48 | RG32_FLOAT = 0xCB, | 48 | RG32_FLOAT = 0xCB, |
| 49 | RG32_SINT = 0xCC, | ||
| 49 | RG32_UINT = 0xCD, | 50 | RG32_UINT = 0xCD, |
| 50 | RGBX16_FLOAT = 0xCE, | 51 | RGBX16_FLOAT = 0xCE, |
| 51 | BGRA8_UNORM = 0xCF, | 52 | BGRA8_UNORM = 0xCF, |
diff --git a/src/video_core/morton.cpp b/src/video_core/morton.cpp index 9e50aa11d..f932df53f 100644 --- a/src/video_core/morton.cpp +++ b/src/video_core/morton.cpp | |||
| @@ -70,6 +70,7 @@ static constexpr ConversionArray morton_to_linear_fns = { | |||
| 70 | MortonCopy<true, PixelFormat::BGRA8>, | 70 | MortonCopy<true, PixelFormat::BGRA8>, |
| 71 | MortonCopy<true, PixelFormat::RGBA32F>, | 71 | MortonCopy<true, PixelFormat::RGBA32F>, |
| 72 | MortonCopy<true, PixelFormat::RG32F>, | 72 | MortonCopy<true, PixelFormat::RG32F>, |
| 73 | MortonCopy<true, PixelFormat::RG32I>, | ||
| 73 | MortonCopy<true, PixelFormat::R32F>, | 74 | MortonCopy<true, PixelFormat::R32F>, |
| 74 | MortonCopy<true, PixelFormat::R16F>, | 75 | MortonCopy<true, PixelFormat::R16F>, |
| 75 | MortonCopy<true, PixelFormat::R16U>, | 76 | MortonCopy<true, PixelFormat::R16U>, |
| @@ -157,6 +158,7 @@ static constexpr ConversionArray linear_to_morton_fns = { | |||
| 157 | MortonCopy<false, PixelFormat::BGRA8>, | 158 | MortonCopy<false, PixelFormat::BGRA8>, |
| 158 | MortonCopy<false, PixelFormat::RGBA32F>, | 159 | MortonCopy<false, PixelFormat::RGBA32F>, |
| 159 | MortonCopy<false, PixelFormat::RG32F>, | 160 | MortonCopy<false, PixelFormat::RG32F>, |
| 161 | MortonCopy<false, PixelFormat::RG32I>, | ||
| 160 | MortonCopy<false, PixelFormat::R32F>, | 162 | MortonCopy<false, PixelFormat::R32F>, |
| 161 | MortonCopy<false, PixelFormat::R16F>, | 163 | MortonCopy<false, PixelFormat::R16F>, |
| 162 | MortonCopy<false, PixelFormat::R16U>, | 164 | MortonCopy<false, PixelFormat::R16U>, |
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index ef1729894..1d7824324 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp | |||
| @@ -70,6 +70,7 @@ constexpr std::array<FormatTuple, VideoCore::Surface::MaxPixelFormat> tex_format | |||
| 70 | {GL_RGBA8, GL_BGRA, GL_UNSIGNED_BYTE}, // BGRA8 | 70 | {GL_RGBA8, GL_BGRA, GL_UNSIGNED_BYTE}, // BGRA8 |
| 71 | {GL_RGBA32F, GL_RGBA, GL_FLOAT}, // RGBA32F | 71 | {GL_RGBA32F, GL_RGBA, GL_FLOAT}, // RGBA32F |
| 72 | {GL_RG32F, GL_RG, GL_FLOAT}, // RG32F | 72 | {GL_RG32F, GL_RG, GL_FLOAT}, // RG32F |
| 73 | {GL_RG32I, GL_RG_INTEGER, GL_INT}, // RG32I | ||
| 73 | {GL_R32F, GL_RED, GL_FLOAT}, // R32F | 74 | {GL_R32F, GL_RED, GL_FLOAT}, // R32F |
| 74 | {GL_R16F, GL_RED, GL_HALF_FLOAT}, // R16F | 75 | {GL_R16F, GL_RED, GL_HALF_FLOAT}, // R16F |
| 75 | {GL_R16, GL_RED, GL_UNSIGNED_SHORT}, // R16U | 76 | {GL_R16, GL_RED, GL_UNSIGNED_SHORT}, // R16U |
diff --git a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp index 43264ce14..4086d1bb6 100644 --- a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp +++ b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp | |||
| @@ -146,6 +146,7 @@ struct FormatTuple { | |||
| 146 | {VK_FORMAT_B8G8R8A8_UNORM, Attachable}, // BGRA8 | 146 | {VK_FORMAT_B8G8R8A8_UNORM, Attachable}, // BGRA8 |
| 147 | {VK_FORMAT_R32G32B32A32_SFLOAT, Attachable | Storage}, // RGBA32F | 147 | {VK_FORMAT_R32G32B32A32_SFLOAT, Attachable | Storage}, // RGBA32F |
| 148 | {VK_FORMAT_R32G32_SFLOAT, Attachable | Storage}, // RG32F | 148 | {VK_FORMAT_R32G32_SFLOAT, Attachable | Storage}, // RG32F |
| 149 | {VK_FORMAT_R32G32_SINT, Attachable | Storage}, // RG32I | ||
| 149 | {VK_FORMAT_R32_SFLOAT, Attachable | Storage}, // R32F | 150 | {VK_FORMAT_R32_SFLOAT, Attachable | Storage}, // R32F |
| 150 | {VK_FORMAT_R16_SFLOAT, Attachable | Storage}, // R16F | 151 | {VK_FORMAT_R16_SFLOAT, Attachable | Storage}, // R16F |
| 151 | {VK_FORMAT_R16_UNORM, Attachable | Storage}, // R16U | 152 | {VK_FORMAT_R16_UNORM, Attachable | Storage}, // R16U |
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index 06c6169dc..e1128efe6 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp | |||
| @@ -84,6 +84,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties( | |||
| 84 | VK_FORMAT_R32G32B32A32_SFLOAT, | 84 | VK_FORMAT_R32G32B32A32_SFLOAT, |
| 85 | VK_FORMAT_R32G32B32A32_UINT, | 85 | VK_FORMAT_R32G32B32A32_UINT, |
| 86 | VK_FORMAT_R32G32_SFLOAT, | 86 | VK_FORMAT_R32G32_SFLOAT, |
| 87 | VK_FORMAT_R32G32_SINT, | ||
| 87 | VK_FORMAT_R32G32_UINT, | 88 | VK_FORMAT_R32G32_UINT, |
| 88 | VK_FORMAT_R16G16B16A16_UINT, | 89 | VK_FORMAT_R16G16B16A16_UINT, |
| 89 | VK_FORMAT_R16G16B16A16_SNORM, | 90 | VK_FORMAT_R16G16B16A16_SNORM, |
diff --git a/src/video_core/surface.cpp b/src/video_core/surface.cpp index 1f12163fe..13e598972 100644 --- a/src/video_core/surface.cpp +++ b/src/video_core/surface.cpp | |||
| @@ -106,6 +106,8 @@ PixelFormat PixelFormatFromRenderTargetFormat(Tegra::RenderTargetFormat format) | |||
| 106 | return PixelFormat::RGBA16F; | 106 | return PixelFormat::RGBA16F; |
| 107 | case Tegra::RenderTargetFormat::RG32_FLOAT: | 107 | case Tegra::RenderTargetFormat::RG32_FLOAT: |
| 108 | return PixelFormat::RG32F; | 108 | return PixelFormat::RG32F; |
| 109 | case Tegra::RenderTargetFormat::RG32_SINT: | ||
| 110 | return PixelFormat::RG32I; | ||
| 109 | case Tegra::RenderTargetFormat::RG32_UINT: | 111 | case Tegra::RenderTargetFormat::RG32_UINT: |
| 110 | return PixelFormat::RG32UI; | 112 | return PixelFormat::RG32UI; |
| 111 | case Tegra::RenderTargetFormat::RGBX16_FLOAT: | 113 | case Tegra::RenderTargetFormat::RGBX16_FLOAT: |
diff --git a/src/video_core/surface.h b/src/video_core/surface.h index 6999d9dc3..3e9dd797a 100644 --- a/src/video_core/surface.h +++ b/src/video_core/surface.h | |||
| @@ -44,6 +44,7 @@ enum class PixelFormat { | |||
| 44 | BGRA8, | 44 | BGRA8, |
| 45 | RGBA32F, | 45 | RGBA32F, |
| 46 | RG32F, | 46 | RG32F, |
| 47 | RG32I, | ||
| 47 | R32F, | 48 | R32F, |
| 48 | R16F, | 49 | R16F, |
| 49 | R16U, | 50 | R16U, |
| @@ -162,6 +163,7 @@ constexpr std::array<u32, MaxPixelFormat> compression_factor_shift_table = {{ | |||
| 162 | 0, // BGRA8 | 163 | 0, // BGRA8 |
| 163 | 0, // RGBA32F | 164 | 0, // RGBA32F |
| 164 | 0, // RG32F | 165 | 0, // RG32F |
| 166 | 0, // RG32I | ||
| 165 | 0, // R32F | 167 | 0, // R32F |
| 166 | 0, // R16F | 168 | 0, // R16F |
| 167 | 0, // R16U | 169 | 0, // R16U |
| @@ -264,6 +266,7 @@ constexpr std::array<u32, MaxPixelFormat> block_width_table = {{ | |||
| 264 | 1, // BGRA8 | 266 | 1, // BGRA8 |
| 265 | 1, // RGBA32F | 267 | 1, // RGBA32F |
| 266 | 1, // RG32F | 268 | 1, // RG32F |
| 269 | 1, // RG32I | ||
| 267 | 1, // R32F | 270 | 1, // R32F |
| 268 | 1, // R16F | 271 | 1, // R16F |
| 269 | 1, // R16U | 272 | 1, // R16U |
| @@ -358,6 +361,7 @@ constexpr std::array<u32, MaxPixelFormat> block_height_table = {{ | |||
| 358 | 1, // BGRA8 | 361 | 1, // BGRA8 |
| 359 | 1, // RGBA32F | 362 | 1, // RGBA32F |
| 360 | 1, // RG32F | 363 | 1, // RG32F |
| 364 | 1, // RG32I | ||
| 361 | 1, // R32F | 365 | 1, // R32F |
| 362 | 1, // R16F | 366 | 1, // R16F |
| 363 | 1, // R16U | 367 | 1, // R16U |
| @@ -452,6 +456,7 @@ constexpr std::array<u32, MaxPixelFormat> bpp_table = {{ | |||
| 452 | 32, // BGRA8 | 456 | 32, // BGRA8 |
| 453 | 128, // RGBA32F | 457 | 128, // RGBA32F |
| 454 | 64, // RG32F | 458 | 64, // RG32F |
| 459 | 64, // RG32I | ||
| 455 | 32, // R32F | 460 | 32, // R32F |
| 456 | 16, // R16F | 461 | 16, // R16F |
| 457 | 16, // R16U | 462 | 16, // R16U |