summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-04-19 03:48:53 +0200
committerSubv <subv2112@gmail.com>2018-04-19 03:48:53 +0200
commit057170928ce71fb262d4d9969b7889971dc7232a (patch)
tree13c219cf533d215e6f20ce47a3ea92465974fd98 /src/video_core/renderer_opengl/gl_rasterizer_cache.h
parentMerge pull request #351 from Subv/tex_formats (diff)
downloadyuzu-057170928ce71fb262d4d9969b7889971dc7232a.tar
yuzu-057170928ce71fb262d4d9969b7889971dc7232a.tar.gz
yuzu-057170928ce71fb262d4d9969b7889971dc7232a.tar.bz2
yuzu-057170928ce71fb262d4d9969b7889971dc7232a.tar.lz
yuzu-057170928ce71fb262d4d9969b7889971dc7232a.tar.xz
yuzu-057170928ce71fb262d4d9969b7889971dc7232a.tar.zst
yuzu-057170928ce71fb262d4d9969b7889971dc7232a.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.h')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
index 23e4d02d8..6861efe16 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
@@ -55,6 +55,8 @@ struct SurfaceParams {
ABGR8 = 0,
B5G6R5 = 1,
DXT1 = 2,
+ DXT23 = 3,
+ DXT45 = 4,
Max,
Invalid = 255,
@@ -84,9 +86,11 @@ struct SurfaceParams {
return 0;
constexpr std::array<unsigned int, MaxPixelFormat> bpp_table = {
- 32, // ABGR8
- 16, // B5G6R5
- 64, // DXT1
+ 32, // ABGR8
+ 16, // B5G6R5
+ 64, // DXT1
+ 128, // DXT23
+ 128, // DXT45
};
ASSERT(static_cast<size_t>(format) < bpp_table.size());
@@ -125,6 +129,10 @@ struct SurfaceParams {
return PixelFormat::B5G6R5;
case Tegra::Texture::TextureFormat::DXT1:
return PixelFormat::DXT1;
+ case Tegra::Texture::TextureFormat::DXT23:
+ return PixelFormat::DXT23;
+ case Tegra::Texture::TextureFormat::DXT45:
+ return PixelFormat::DXT45;
default:
NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
UNREACHABLE();
@@ -140,6 +148,10 @@ struct SurfaceParams {
return Tegra::Texture::TextureFormat::B5G6R5;
case PixelFormat::DXT1:
return Tegra::Texture::TextureFormat::DXT1;
+ case PixelFormat::DXT23:
+ return Tegra::Texture::TextureFormat::DXT23;
+ case PixelFormat::DXT45:
+ return Tegra::Texture::TextureFormat::DXT45;
default:
UNREACHABLE();
}