From 4f574201ea31b189b09cb0b52d9fc03f3db82b37 Mon Sep 17 00:00:00 2001 From: Subv Date: Tue, 24 Jul 2018 16:47:50 -0500 Subject: GPU: Allow the usage of R8 as a render target format. --- src/video_core/gpu.h | 1 + src/video_core/renderer_opengl/gl_rasterizer_cache.h | 3 +++ 2 files changed, 4 insertions(+) (limited to 'src/video_core') diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index 58501ca8b..ba7b81571 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -24,6 +24,7 @@ enum class RenderTargetFormat : u32 { RGBA8_UNORM = 0xD5, RGBA8_SRGB = 0xD6, R11G11B10_FLOAT = 0xE0, + R8_UNORM = 0xF3, }; enum class DepthFormat : u32 { diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h index e1d3670d9..ae449ee25 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h @@ -194,6 +194,8 @@ struct SurfaceParams { return PixelFormat::R11FG11FB10F; case Tegra::RenderTargetFormat::RGBA32_UINT: return PixelFormat::RGBA32UI; + case Tegra::RenderTargetFormat::R8_UNORM: + return PixelFormat::R8; default: LOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast(format)); UNREACHABLE(); @@ -351,6 +353,7 @@ struct SurfaceParams { case Tegra::RenderTargetFormat::RGBA8_SRGB: case Tegra::RenderTargetFormat::BGRA8_UNORM: case Tegra::RenderTargetFormat::RGB10_A2_UNORM: + case Tegra::RenderTargetFormat::R8_UNORM: return ComponentType::UNorm; case Tegra::RenderTargetFormat::RGBA16_FLOAT: case Tegra::RenderTargetFormat::R11G11B10_FLOAT: -- cgit v1.2.3