summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-07-25 23:19:15 -0500
committerSubv <subv2112@gmail.com>2018-07-26 08:52:21 -0500
commitf85cff0f48a62ae6ae645bb1dd25689135603d69 (patch)
treeeaa2cce135ccbdb8e81142de7ccd8d84af5d8956 /src/video_core
parent57cd80c410ecaf064a6983b6a74e2bd6aa58bf03 (diff)
GPU: Allow using R16F as a render target format.
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/gpu.h1
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.h4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h
index de276c559..c464fc6d1 100644
--- a/src/video_core/gpu.h
+++ b/src/video_core/gpu.h
@@ -29,6 +29,7 @@ enum class RenderTargetFormat : u32 {
RG16_UINT = 0xDD,
RG16_FLOAT = 0xDE,
R11G11B10_FLOAT = 0xE0,
+ R16_FLOAT = 0xF2,
R8_UNORM = 0xF3,
};
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
index bb39c0a6f..bf0458b94 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
@@ -230,7 +230,8 @@ struct SurfaceParams {
return PixelFormat::RG16;
case Tegra::RenderTargetFormat::RG16_SNORM:
return PixelFormat::RG16S;
-
+ case Tegra::RenderTargetFormat::R16_FLOAT:
+ return PixelFormat::R16F;
default:
LOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
UNREACHABLE();
@@ -437,6 +438,7 @@ struct SurfaceParams {
case Tegra::RenderTargetFormat::RGBA32_FLOAT:
case Tegra::RenderTargetFormat::RG32_FLOAT:
case Tegra::RenderTargetFormat::RG16_FLOAT:
+ case Tegra::RenderTargetFormat::R16_FLOAT:
return ComponentType::Float;
case Tegra::RenderTargetFormat::RGBA32_UINT:
case Tegra::RenderTargetFormat::RG16_UINT: