From 11c39377b1c0c42d4d29b53e82668809f92c56da Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 27 Nov 2019 11:05:24 +0000 Subject: [PATCH] Handle range adaption in texture remapping * This can be used in saving overlays, stencil, etc --- renderdoc/data/glsl/texremap.frag | 2 ++ renderdoc/data/hlsl/texremap.hlsl | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/renderdoc/data/glsl/texremap.frag b/renderdoc/data/glsl/texremap.frag index 592f65309..14aa39946 100644 --- a/renderdoc/data/glsl/texremap.frag +++ b/renderdoc/data/glsl/texremap.frag @@ -69,6 +69,8 @@ void main(void) color_out = SampleTextureFloat4(texType, scr, texdisplay.Slice, texdisplay.MipLevel, texdisplay.SampleIdx, texdisplay.TextureResolutionPS, texdisplay.YUVDownsampleRate, texdisplay.YUVAChannels); + + color_out = ((color_out - texdisplay.RangeMinimum) * texdisplay.InverseRangeSize); #endif if(texdisplay.Channels == vec4(1, 0, 0, 0)) diff --git a/renderdoc/data/hlsl/texremap.hlsl b/renderdoc/data/hlsl/texremap.hlsl index 867bce23a..ddc11c2c0 100644 --- a/renderdoc/data/hlsl/texremap.hlsl +++ b/renderdoc/data/hlsl/texremap.hlsl @@ -33,9 +33,13 @@ struct v2f float4 RENDERDOC_TexRemapFloat(v2f IN) : SV_Target0 { - return SampleTextureFloat4(OutputDisplayFormat & TEXDISPLAY_TYPEMASK, - (ScalePS < 1 && MipLevel == 0), IN.tex.xy, Slice, MipLevel, SampleIdx, - TextureResolutionPS, YUVDownsampleRate, YUVAChannels); + float4 ret = SampleTextureFloat4(OutputDisplayFormat & TEXDISPLAY_TYPEMASK, + (ScalePS < 1 && MipLevel == 0), IN.tex.xy, Slice, MipLevel, + SampleIdx, TextureResolutionPS, YUVDownsampleRate, YUVAChannels); + + ret = ((ret - RangeMinimum) * InverseRangeSize); + + return ret; } uint4 RENDERDOC_TexRemapUInt(v2f IN) : SV_Target0