summaryrefslogtreecommitdiff
path: root/src/video_core/textures/decoders.cpp
diff options
context:
space:
mode:
authorGravatar greggameplayer2018-08-02 20:56:38 +0200
committerGravatar bunnei2018-08-02 14:56:38 -0400
commitfe64e1d38ee7e2cb5c96b42a4107949a29898e81 (patch)
tree4e69cce051d0e79f54a7ad0626af9c3f901dedfe /src/video_core/textures/decoders.cpp
parentMerge pull request #893 from lioncash/psc (diff)
downloadyuzu-fe64e1d38ee7e2cb5c96b42a4107949a29898e81.tar.gz
yuzu-fe64e1d38ee7e2cb5c96b42a4107949a29898e81.tar.xz
yuzu-fe64e1d38ee7e2cb5c96b42a4107949a29898e81.zip
Implement RGB32F PixelFormat (#886) (used by Go Vacation)
Diffstat (limited to 'src/video_core/textures/decoders.cpp')
-rw-r--r--src/video_core/textures/decoders.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp
index d794f8402..65db84ad3 100644
--- a/src/video_core/textures/decoders.cpp
+++ b/src/video_core/textures/decoders.cpp
@@ -57,6 +57,8 @@ u32 BytesPerPixel(TextureFormat format) {
57 case TextureFormat::BC7U: 57 case TextureFormat::BC7U:
58 // In this case a 'pixel' actually refers to a 4x4 tile. 58 // In this case a 'pixel' actually refers to a 4x4 tile.
59 return 16; 59 return 16;
60 case TextureFormat::R32_G32_B32:
61 return 12;
60 case TextureFormat::ASTC_2D_4X4: 62 case TextureFormat::ASTC_2D_4X4:
61 case TextureFormat::A8R8G8B8: 63 case TextureFormat::A8R8G8B8:
62 case TextureFormat::A2B10G10R10: 64 case TextureFormat::A2B10G10R10:
@@ -131,6 +133,7 @@ std::vector<u8> UnswizzleTexture(VAddr address, TextureFormat format, u32 width,
131 case TextureFormat::R16_G16: 133 case TextureFormat::R16_G16:
132 case TextureFormat::BF10GF11RF11: 134 case TextureFormat::BF10GF11RF11:
133 case TextureFormat::ASTC_2D_4X4: 135 case TextureFormat::ASTC_2D_4X4:
136 case TextureFormat::R32_G32_B32:
134 CopySwizzledData(width, height, bytes_per_pixel, bytes_per_pixel, data, 137 CopySwizzledData(width, height, bytes_per_pixel, bytes_per_pixel, data,
135 unswizzled_data.data(), true, block_height); 138 unswizzled_data.data(), true, block_height);
136 break; 139 break;
@@ -190,6 +193,7 @@ std::vector<u8> DecodeTexture(const std::vector<u8>& texture_data, TextureFormat
190 case TextureFormat::R32: 193 case TextureFormat::R32:
191 case TextureFormat::R16: 194 case TextureFormat::R16:
192 case TextureFormat::R16_G16: 195 case TextureFormat::R16_G16:
196 case TextureFormat::R32_G32_B32:
193 // TODO(Subv): For the time being just forward the same data without any decoding. 197 // TODO(Subv): For the time being just forward the same data without any decoding.
194 rgba_data = texture_data; 198 rgba_data = texture_data;
195 break; 199 break;