diff options
Diffstat (limited to 'src/video_core/textures')
| -rw-r--r-- | src/video_core/textures/decoders.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/textures/texture.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp index 4df687786..e0509f0ce 100644 --- a/src/video_core/textures/decoders.cpp +++ b/src/video_core/textures/decoders.cpp | |||
| @@ -53,6 +53,7 @@ u32 BytesPerPixel(TextureFormat format) { | |||
| 53 | // In this case a 'pixel' actually refers to a 4x4 tile. | 53 | // In this case a 'pixel' actually refers to a 4x4 tile. |
| 54 | return 16; | 54 | return 16; |
| 55 | case TextureFormat::A8R8G8B8: | 55 | case TextureFormat::A8R8G8B8: |
| 56 | case TextureFormat::A2B10G10R10: | ||
| 56 | return 4; | 57 | return 4; |
| 57 | case TextureFormat::B5G6R5: | 58 | case TextureFormat::B5G6R5: |
| 58 | return 2; | 59 | return 2; |
| @@ -78,6 +79,7 @@ std::vector<u8> UnswizzleTexture(VAddr address, TextureFormat format, u32 width, | |||
| 78 | unswizzled_data.data(), true, block_height); | 79 | unswizzled_data.data(), true, block_height); |
| 79 | break; | 80 | break; |
| 80 | case TextureFormat::A8R8G8B8: | 81 | case TextureFormat::A8R8G8B8: |
| 82 | case TextureFormat::A2B10G10R10: | ||
| 81 | case TextureFormat::B5G6R5: | 83 | case TextureFormat::B5G6R5: |
| 82 | CopySwizzledData(width, height, bytes_per_pixel, bytes_per_pixel, data, | 84 | CopySwizzledData(width, height, bytes_per_pixel, bytes_per_pixel, data, |
| 83 | unswizzled_data.data(), true, block_height); | 85 | unswizzled_data.data(), true, block_height); |
| @@ -100,6 +102,7 @@ std::vector<u8> DecodeTexture(const std::vector<u8>& texture_data, TextureFormat | |||
| 100 | case TextureFormat::DXT23: | 102 | case TextureFormat::DXT23: |
| 101 | case TextureFormat::DXT45: | 103 | case TextureFormat::DXT45: |
| 102 | case TextureFormat::A8R8G8B8: | 104 | case TextureFormat::A8R8G8B8: |
| 105 | case TextureFormat::A2B10G10R10: | ||
| 103 | case TextureFormat::B5G6R5: | 106 | case TextureFormat::B5G6R5: |
| 104 | // TODO(Subv): For the time being just forward the same data without any decoding. | 107 | // TODO(Subv): For the time being just forward the same data without any decoding. |
| 105 | rgba_data = texture_data; | 108 | rgba_data = texture_data; |
diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h index 86e45aa88..dc004d361 100644 --- a/src/video_core/textures/texture.h +++ b/src/video_core/textures/texture.h | |||
| @@ -15,6 +15,7 @@ namespace Texture { | |||
| 15 | 15 | ||
| 16 | enum class TextureFormat : u32 { | 16 | enum class TextureFormat : u32 { |
| 17 | A8R8G8B8 = 0x8, | 17 | A8R8G8B8 = 0x8, |
| 18 | A2B10G10R10 = 0x9, | ||
| 18 | B5G6R5 = 0x15, | 19 | B5G6R5 = 0x15, |
| 19 | DXT1 = 0x24, | 20 | DXT1 = 0x24, |
| 20 | DXT23 = 0x25, | 21 | DXT23 = 0x25, |