summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/gpu.h1
-rw-r--r--src/video_core/morton.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp1
-rw-r--r--src/video_core/renderer_vulkan/maxwell_to_vk.cpp1
-rw-r--r--src/video_core/renderer_vulkan/vk_device.cpp1
-rw-r--r--src/video_core/surface.cpp2
-rw-r--r--src/video_core/surface.h5
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 {
40enum class RenderTargetFormat : u32 { 40enum 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