diff options
Diffstat (limited to 'src')
| -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 4a47862ce..102f528c5 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h | |||
| @@ -40,6 +40,7 @@ namespace Tegra { | |||
| 40 | enum class RenderTargetFormat : u32 { | 40 | enum class RenderTargetFormat : u32 { |
| 41 | NONE = 0x0, | 41 | NONE = 0x0, |
| 42 | RGBA32_FLOAT = 0xC0, | 42 | RGBA32_FLOAT = 0xC0, |
| 43 | RGBA32_SINT = 0xC1, | ||
| 43 | RGBA32_UINT = 0xC2, | 44 | RGBA32_UINT = 0xC2, |
| 44 | RGBA16_UNORM = 0xC6, | 45 | RGBA16_UNORM = 0xC6, |
| 45 | RGBA16_SNORM = 0xC7, | 46 | RGBA16_SNORM = 0xC7, |
diff --git a/src/video_core/morton.cpp b/src/video_core/morton.cpp index c7c8f2238..18bcb60b0 100644 --- a/src/video_core/morton.cpp +++ b/src/video_core/morton.cpp | |||
| @@ -71,6 +71,7 @@ static constexpr ConversionArray morton_to_linear_fns = { | |||
| 71 | MortonCopy<true, PixelFormat::ASTC_2D_4X4>, | 71 | MortonCopy<true, PixelFormat::ASTC_2D_4X4>, |
| 72 | MortonCopy<true, PixelFormat::BGRA8>, | 72 | MortonCopy<true, PixelFormat::BGRA8>, |
| 73 | MortonCopy<true, PixelFormat::RGBA32F>, | 73 | MortonCopy<true, PixelFormat::RGBA32F>, |
| 74 | MortonCopy<true, PixelFormat::RGBA32I>, | ||
| 74 | MortonCopy<true, PixelFormat::RG32F>, | 75 | MortonCopy<true, PixelFormat::RG32F>, |
| 75 | MortonCopy<true, PixelFormat::RG32I>, | 76 | MortonCopy<true, PixelFormat::RG32I>, |
| 76 | MortonCopy<true, PixelFormat::R32F>, | 77 | MortonCopy<true, PixelFormat::R32F>, |
| @@ -161,6 +162,7 @@ static constexpr ConversionArray linear_to_morton_fns = { | |||
| 161 | nullptr, | 162 | nullptr, |
| 162 | MortonCopy<false, PixelFormat::BGRA8>, | 163 | MortonCopy<false, PixelFormat::BGRA8>, |
| 163 | MortonCopy<false, PixelFormat::RGBA32F>, | 164 | MortonCopy<false, PixelFormat::RGBA32F>, |
| 165 | MortonCopy<false, PixelFormat::RGBA32I>, | ||
| 164 | MortonCopy<false, PixelFormat::RG32F>, | 166 | MortonCopy<false, PixelFormat::RG32F>, |
| 165 | MortonCopy<false, PixelFormat::RG32I>, | 167 | MortonCopy<false, PixelFormat::RG32I>, |
| 166 | MortonCopy<false, PixelFormat::R32F>, | 168 | MortonCopy<false, PixelFormat::R32F>, |
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index ff67ac813..de1e05cd2 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp | |||
| @@ -71,6 +71,7 @@ constexpr std::array<FormatTuple, VideoCore::Surface::MaxPixelFormat> tex_format | |||
| 71 | {GL_COMPRESSED_RGBA_ASTC_4x4_KHR}, // ASTC_2D_4X4 | 71 | {GL_COMPRESSED_RGBA_ASTC_4x4_KHR}, // ASTC_2D_4X4 |
| 72 | {GL_RGBA8, GL_BGRA, GL_UNSIGNED_BYTE}, // BGRA8 | 72 | {GL_RGBA8, GL_BGRA, GL_UNSIGNED_BYTE}, // BGRA8 |
| 73 | {GL_RGBA32F, GL_RGBA, GL_FLOAT}, // RGBA32F | 73 | {GL_RGBA32F, GL_RGBA, GL_FLOAT}, // RGBA32F |
| 74 | {GL_RGBA32I, GL_RGBA_INTEGER, GL_INT}, // RGBA32I | ||
| 74 | {GL_RG32F, GL_RG, GL_FLOAT}, // RG32F | 75 | {GL_RG32F, GL_RG, GL_FLOAT}, // RG32F |
| 75 | {GL_RG32I, GL_RG_INTEGER, GL_INT}, // RG32I | 76 | {GL_RG32I, GL_RG_INTEGER, GL_INT}, // RG32I |
| 76 | {GL_R32F, GL_RED, GL_FLOAT}, // R32F | 77 | {GL_R32F, GL_RED, GL_FLOAT}, // R32F |
diff --git a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp index e79e0645d..bab9f485f 100644 --- a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp +++ b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp | |||
| @@ -147,6 +147,7 @@ struct FormatTuple { | |||
| 147 | {VK_FORMAT_ASTC_4x4_UNORM_BLOCK}, // ASTC_2D_4X4 | 147 | {VK_FORMAT_ASTC_4x4_UNORM_BLOCK}, // ASTC_2D_4X4 |
| 148 | {VK_FORMAT_B8G8R8A8_UNORM, Attachable}, // BGRA8 | 148 | {VK_FORMAT_B8G8R8A8_UNORM, Attachable}, // BGRA8 |
| 149 | {VK_FORMAT_R32G32B32A32_SFLOAT, Attachable | Storage}, // RGBA32F | 149 | {VK_FORMAT_R32G32B32A32_SFLOAT, Attachable | Storage}, // RGBA32F |
| 150 | {VK_FORMAT_R32G32B32A32_SINT, Attachable | Storage}, // RGBA32I | ||
| 150 | {VK_FORMAT_R32G32_SFLOAT, Attachable | Storage}, // RG32F | 151 | {VK_FORMAT_R32G32_SFLOAT, Attachable | Storage}, // RG32F |
| 151 | {VK_FORMAT_R32G32_SINT, Attachable | Storage}, // RG32I | 152 | {VK_FORMAT_R32G32_SINT, Attachable | Storage}, // RG32I |
| 152 | {VK_FORMAT_R32_SFLOAT, Attachable | Storage}, // R32F | 153 | {VK_FORMAT_R32_SFLOAT, Attachable | Storage}, // R32F |
diff --git a/src/video_core/renderer_vulkan/vk_device.cpp b/src/video_core/renderer_vulkan/vk_device.cpp index a61a94c6c..173957533 100644 --- a/src/video_core/renderer_vulkan/vk_device.cpp +++ b/src/video_core/renderer_vulkan/vk_device.cpp | |||
| @@ -83,6 +83,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties( | |||
| 83 | VK_FORMAT_A2B10G10R10_UNORM_PACK32, | 83 | VK_FORMAT_A2B10G10R10_UNORM_PACK32, |
| 84 | VK_FORMAT_A1R5G5B5_UNORM_PACK16, | 84 | VK_FORMAT_A1R5G5B5_UNORM_PACK16, |
| 85 | VK_FORMAT_R32G32B32A32_SFLOAT, | 85 | VK_FORMAT_R32G32B32A32_SFLOAT, |
| 86 | VK_FORMAT_R32G32B32A32_SINT, | ||
| 86 | VK_FORMAT_R32G32B32A32_UINT, | 87 | VK_FORMAT_R32G32B32A32_UINT, |
| 87 | VK_FORMAT_R32G32_SFLOAT, | 88 | VK_FORMAT_R32G32_SFLOAT, |
| 88 | VK_FORMAT_R32G32_SINT, | 89 | VK_FORMAT_R32G32_SINT, |
diff --git a/src/video_core/surface.cpp b/src/video_core/surface.cpp index 9c19e2838..b287fe83f 100644 --- a/src/video_core/surface.cpp +++ b/src/video_core/surface.cpp | |||
| @@ -94,6 +94,8 @@ PixelFormat PixelFormatFromRenderTargetFormat(Tegra::RenderTargetFormat format) | |||
| 94 | switch (format) { | 94 | switch (format) { |
| 95 | case Tegra::RenderTargetFormat::RGBA32_FLOAT: | 95 | case Tegra::RenderTargetFormat::RGBA32_FLOAT: |
| 96 | return PixelFormat::RGBA32F; | 96 | return PixelFormat::RGBA32F; |
| 97 | case Tegra::RenderTargetFormat::RGBA32_SINT: | ||
| 98 | return PixelFormat::RGBA32I; | ||
| 97 | case Tegra::RenderTargetFormat::RGBA32_UINT: | 99 | case Tegra::RenderTargetFormat::RGBA32_UINT: |
| 98 | return PixelFormat::RGBA32UI; | 100 | return PixelFormat::RGBA32UI; |
| 99 | case Tegra::RenderTargetFormat::RGBA16_UNORM: | 101 | case Tegra::RenderTargetFormat::RGBA16_UNORM: |
diff --git a/src/video_core/surface.h b/src/video_core/surface.h index 27d447cb9..a564a00e9 100644 --- a/src/video_core/surface.h +++ b/src/video_core/surface.h | |||
| @@ -45,6 +45,7 @@ enum class PixelFormat { | |||
| 45 | ASTC_2D_4X4, | 45 | ASTC_2D_4X4, |
| 46 | BGRA8, | 46 | BGRA8, |
| 47 | RGBA32F, | 47 | RGBA32F, |
| 48 | RGBA32I, | ||
| 48 | RG32F, | 49 | RG32F, |
| 49 | RG32I, | 50 | RG32I, |
| 50 | R32F, | 51 | R32F, |
| @@ -166,6 +167,7 @@ constexpr std::array<u32, MaxPixelFormat> compression_factor_shift_table = {{ | |||
| 166 | 2, // ASTC_2D_4X4 | 167 | 2, // ASTC_2D_4X4 |
| 167 | 0, // BGRA8 | 168 | 0, // BGRA8 |
| 168 | 0, // RGBA32F | 169 | 0, // RGBA32F |
| 170 | 0, // RGBA32I | ||
| 169 | 0, // RG32F | 171 | 0, // RG32F |
| 170 | 0, // RG32I | 172 | 0, // RG32I |
| 171 | 0, // R32F | 173 | 0, // R32F |
| @@ -271,6 +273,7 @@ constexpr std::array<u32, MaxPixelFormat> block_width_table = {{ | |||
| 271 | 4, // ASTC_2D_4X4 | 273 | 4, // ASTC_2D_4X4 |
| 272 | 1, // BGRA8 | 274 | 1, // BGRA8 |
| 273 | 1, // RGBA32F | 275 | 1, // RGBA32F |
| 276 | 1, // RGBA32I | ||
| 274 | 1, // RG32F | 277 | 1, // RG32F |
| 275 | 1, // RG32I | 278 | 1, // RG32I |
| 276 | 1, // R32F | 279 | 1, // R32F |
| @@ -368,6 +371,7 @@ constexpr std::array<u32, MaxPixelFormat> block_height_table = {{ | |||
| 368 | 4, // ASTC_2D_4X4 | 371 | 4, // ASTC_2D_4X4 |
| 369 | 1, // BGRA8 | 372 | 1, // BGRA8 |
| 370 | 1, // RGBA32F | 373 | 1, // RGBA32F |
| 374 | 1, // RGBA32I | ||
| 371 | 1, // RG32F | 375 | 1, // RG32F |
| 372 | 1, // RG32I | 376 | 1, // RG32I |
| 373 | 1, // R32F | 377 | 1, // R32F |
| @@ -465,6 +469,7 @@ constexpr std::array<u32, MaxPixelFormat> bpp_table = {{ | |||
| 465 | 128, // ASTC_2D_4X4 | 469 | 128, // ASTC_2D_4X4 |
| 466 | 32, // BGRA8 | 470 | 32, // BGRA8 |
| 467 | 128, // RGBA32F | 471 | 128, // RGBA32F |
| 472 | 128, // RGBA32I | ||
| 468 | 64, // RG32F | 473 | 64, // RG32F |
| 469 | 64, // RG32I | 474 | 64, // RG32I |
| 470 | 32, // R32F | 475 | 32, // R32F |