summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-07-24 01:10:00 +0200
committerbunnei <bunneidev@gmail.com>2018-07-24 03:22:54 +0200
commita27c0099ededac2d1fb1745a437a446450dfea10 (patch)
treef50d597af8bec5e7403217945d061f3e6ecaff4f /src/video_core/renderer_opengl/gl_rasterizer_cache.h
parentgl_rasterizer_cache: Implement RenderTargetFormat RGBA32_FLOAT. (diff)
downloadyuzu-a27c0099ededac2d1fb1745a437a446450dfea10.tar
yuzu-a27c0099ededac2d1fb1745a437a446450dfea10.tar.gz
yuzu-a27c0099ededac2d1fb1745a437a446450dfea10.tar.bz2
yuzu-a27c0099ededac2d1fb1745a437a446450dfea10.tar.lz
yuzu-a27c0099ededac2d1fb1745a437a446450dfea10.tar.xz
yuzu-a27c0099ededac2d1fb1745a437a446450dfea10.tar.zst
yuzu-a27c0099ededac2d1fb1745a437a446450dfea10.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, 14 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
index 2feea3d4d..23efbe67c 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
@@ -39,14 +39,15 @@ struct SurfaceParams {
G8R8 = 14,
BGRA8 = 15,
RGBA32F = 16,
+ RG32F = 17,
MaxColorFormat,
// DepthStencil formats
- Z24S8 = 17,
- S8Z24 = 18,
- Z32F = 19,
- Z16 = 20,
+ Z24S8 = 18,
+ S8Z24 = 19,
+ Z32F = 20,
+ Z16 = 21,
MaxDepthStencilFormat,
@@ -101,6 +102,7 @@ struct SurfaceParams {
1, // G8R8
1, // BGRA8
1, // RGBA32F
+ 1, // RG32F
1, // Z24S8
1, // S8Z24
1, // Z32F
@@ -133,6 +135,7 @@ struct SurfaceParams {
16, // G8R8
32, // BGRA8
128, // RGBA32F
+ 64, // RG32F
32, // Z24S8
32, // S8Z24
32, // Z32F
@@ -176,6 +179,8 @@ struct SurfaceParams {
return PixelFormat::RGBA16F;
case Tegra::RenderTargetFormat::RGBA32_FLOAT:
return PixelFormat::RGBA32F;
+ case Tegra::RenderTargetFormat::RG32_FLOAT:
+ return PixelFormat::RG32F;
case Tegra::RenderTargetFormat::R11G11B10_FLOAT:
return PixelFormat::R11FG11FB10F;
case Tegra::RenderTargetFormat::RGBA32_UINT:
@@ -216,6 +221,8 @@ struct SurfaceParams {
LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
static_cast<u32>(component_type));
UNREACHABLE();
+ case Tegra::Texture::TextureFormat::R32_G32:
+ return PixelFormat::RG32F;
case Tegra::Texture::TextureFormat::DXT1:
return PixelFormat::DXT1;
case Tegra::Texture::TextureFormat::DXT23:
@@ -274,6 +281,8 @@ struct SurfaceParams {
return Tegra::Texture::TextureFormat::A8R8G8B8;
case PixelFormat::RGBA32F:
return Tegra::Texture::TextureFormat::R32_G32_B32_A32;
+ case PixelFormat::RG32F:
+ return Tegra::Texture::TextureFormat::R32_G32;
default:
LOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
UNREACHABLE();
@@ -320,6 +329,7 @@ struct SurfaceParams {
case Tegra::RenderTargetFormat::RGBA16_FLOAT:
case Tegra::RenderTargetFormat::R11G11B10_FLOAT:
case Tegra::RenderTargetFormat::RGBA32_FLOAT:
+ case Tegra::RenderTargetFormat::RG32_FLOAT:
return ComponentType::Float;
case Tegra::RenderTargetFormat::RGBA32_UINT:
return ComponentType::UInt;