; SamplerState s; }; cbuffer _Globals { #line 1 "unknown" float2 _1; #line 23 "Sharpen.fx" float g_sldSharpen; #line 27 "Sharpen.fx" float g_sldDenoise; }; #line 28 "NvCommon.fxh" Texture2D __V__NV__ColorInputTex : register(t0); Texture2D __srgbV__NV__ColorInputTex : register(t1); #line 29 Texture2D __V__NV__DepthInputTex : register(t2); Texture2D __srgbV__NV__DepthInputTex : register(t3); SamplerState __s0 : register(s0); #line 30 static const __sampler2D V__NV__ColorInput = { __V__NV__ColorInputTex, __s0 }; #line 31 static const __sampler2D V__NV__DepthInput = { __V__NV__DepthInputTex, __s0 }; #line 71 float F__NV__GetLuma( #line 71 in float3 color) { #line 74 float _12 = dot(float3(2.98999995e-01, 5.87000012e-01, 1.14000000e-01), color); return _12; } #line 78 struct S__VSOut { float4 pos : SV_POSITION; float2 uv : TEXCOORD0; }; #line 84 S__VSOut F__VSMain( #line 84 in uint vid : SV_VERTEXID) { #line 86 S__VSOut o = (S__VSOut)0; #line 87 bool _20 = vid == 2; #line 87 float _23 = _20 ? 2.00000000e+00 : 0.00000000e+00; #line 87 o.uv[0] = _23; #line 88 bool _25 = vid == 1; #line 88 float _28 = _25 ? 2.00000000e+00 : 0.00000000e+00; #line 88 o.uv[1] = _28; #line 89 float2 _31 = o.uv * float2(2.00000000e+00, -2.00000000e+00); #line 89 float2 _33 = _31 + float2(-1.00000000e+00, 1.00000000e+00); #line 89 float4 _38 = float4(_33.x, _33.y, 0.00000000e+00, 1.00000000e+00); #line 89 o.pos = _38; return o; } #line 93 void F__VSMainOut( #line 93 in uint vid : SV_VERTEXID, #line 93 out float4 position : SV_POSITION, #line 93 out float2 texcoord : TEXCOORD0) { #line 95 uint _44; #line 95 _44 = vid; #line 95 S__VSOut _45 = F__VSMain(_44); #line 95 S__VSOut o_46 = _45; #line 96 position = o_46.pos; #line 97 texcoord = o_46.uv; return; } #line 34 "Sharpen.fx" float F__GetLuma( #line 34 in float r, #line 34 in float g, #line 34 in float b) { #line 37 float _55 = 2.98999995e-01 * r; #line 37 float _57 = 5.87000012e-01 * g; #line 37 float _58 = _55 + _57; #line 37 float _60 = 1.14000000e-01 * b; #line 37 float _61 = _58 + _60; return _61; } #line 40 float F__GetLuma( #line 40 in float4 p) { #line 42 float _65; #line 42 float _66; #line 42 float _67; #line 42 _65 = p.x; #line 42 _66 = p.y; #line 42 _67 = p.z; #line 42 float _71 = F__GetLuma(_65, _66, _67); return _71; } #line 45 float F__Square( #line 45 in float v) { #line 47 float _75 = v * v; return _75; } #line 59 void F__PSMain( #line 59 in S__VSOut i, #line 59 out float4 color : SV_TARGET) { #line 61 float4 _81 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 61 float4 x = _81; #line 63 float4 _85 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(-1, 0)); #line 63 float4 a = _85; #line 64 float4 _89 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(1, 0)); #line 64 float4 b_90 = _89; #line 65 float4 _93 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(0, 1)); #line 65 float4 c = _93; #line 66 float4 _97 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(0, -1)); #line 66 float4 d = _97; #line 68 float4 _101 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(-1, -1)); #line 68 float4 e = _101; #line 69 float4 _105 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(1, 1)); #line 69 float4 f = _105; #line 70 float4 _109 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(-1, 1)); #line 70 float4 g_110 = _109; #line 71 float4 _113 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv, int2(1, -1)); #line 71 float4 h = _113; #line 73 float4 _115; #line 73 _115 = x; #line 73 float _116 = F__GetLuma(_115); #line 73 float lx = _116; #line 75 float4 _118; #line 75 _118 = a; #line 75 float _119 = F__GetLuma(_118); #line 75 float la = _119; #line 76 float4 _121; #line 76 _121 = b_90; #line 76 float _122 = F__GetLuma(_121); #line 76 float lb = _122; #line 77 float4 _124; #line 77 _124 = c; #line 77 float _125 = F__GetLuma(_124); #line 77 float lc = _125; #line 78 float4 _127; #line 78 _127 = d; #line 78 float _128 = F__GetLuma(_127); #line 78 float ld = _128; #line 80 float4 _130; #line 80 _130 = e; #line 80 float _131 = F__GetLuma(_130); #line 80 float le = _131; #line 81 float4 _133; #line 81 _133 = f; #line 81 float _134 = F__GetLuma(_133); #line 81 float lf = _134; #line 82 float4 _136; #line 82 _136 = g_110; #line 82 float _137 = F__GetLuma(_136); #line 82 float lg = _137; #line 83 float4 _139; #line 83 _139 = h; #line 83 float _140 = F__GetLuma(_139); #line 83 float lh = _140; #line 86 float _142 = min(le, lf); #line 86 float _143 = min(lg, lh); #line 86 float _144 = min(_142, _143); #line 86 float ncmin = _144; #line 87 float _146 = max(le, lf); #line 87 float _147 = max(lg, lh); #line 87 float _148 = max(_146, _147); #line 87 float ncmax = _148; #line 90 float _150 = min(la, lb); #line 90 float _151 = min(lc, ld); #line 90 float _152 = min(_150, _151); #line 90 float _153 = min(_152, lx); #line 90 float npmin = _153; #line 91 float _155 = max(la, lb); #line 91 float _156 = max(lc, ld); #line 91 float _157 = max(_155, _156); #line 91 float _158 = max(_157, lx); #line 91 float npmax = _158; #line 94 float _160 = min(ncmin, npmin); #line 94 float _162 = 5.00000000e-01 * _160; #line 94 float _164 = 5.00000000e-01 * npmin; #line 94 float _165 = _162 + _164; #line 94 float lmin = _165; #line 95 float _167 = max(ncmax, npmax); #line 95 float _169 = 5.00000000e-01 * _167; #line 95 float _171 = 5.00000000e-01 * npmax; #line 95 float _172 = _169 + _171; #line 95 float lmax = _172; #line 98 float _175 = lmax + 3.90625000e-03; #line 98 float _176 = lmin / _175; #line 98 float lw = _176; #line 99 float _179 = lmax - 6.49999976e-01; #line 99 float _181 = max(_179, 0.00000000e+00); #line 99 float _183 = _181 / 3.50000024e-01; #line 99 float _184; #line 99 _184 = _183; #line 99 float _185 = F__Square(_184); #line 99 float _187 = 1.00000000e+00 - _185; #line 99 float _188; #line 99 _188 = _187; #line 99 float _189 = F__Square(_188); #line 99 float hw = _189; #line 109 float _192 = max(g_sldDenoise, 0.00000000e+00); #line 109 float _194 = min(_192, 1.00000000e+00); #line 109 float _196 = -1.01000004e-01 * _194; #line 109 float _198 = 1.00000005e-03 + _196; #line 109 float _200 = 1.00000000e+00 / _198; #line 109 float kernelDenoise = _200; #line 110 float _202 = lmax - lmin; #line 110 float _203 = _202 * kernelDenoise; #line 110 float _204; #line 110 _204 = _203; #line 110 float _205 = F__Square(_204); #line 110 float nw = _205; #line 113 float _207 = min(lw, hw); #line 113 float _208 = min(_207, nw); #line 113 float boost = _208; #line 123 float _211 = max(g_sldSharpen, 0.00000000e+00); #line 123 float _213 = min(_211, 1.00000000e+00); #line 123 float _215 = -8.24175850e-02 * _213; #line 123 float _217 = -7.14285746e-02 + _215; #line 123 float kernelSharpness = _217; #line 124 float _219 = boost * kernelSharpness; #line 124 float k = _219; #line 126 float accum = lx; #line 127 float _222 = la * k; #line 127 float _223 = accum + _222; #line 127 accum = _223; #line 128 float _224 = lb * k; #line 128 float _225 = accum + _224; #line 128 accum = _225; #line 129 float _226 = lc * k; #line 129 float _227 = accum + _226; #line 129 accum = _227; #line 130 float _228 = ld * k; #line 130 float _229 = accum + _228; #line 130 accum = _229; #line 131 float _231 = k * 5.00000000e-01; #line 131 float _232 = le * _231; #line 131 float _233 = accum + _232; #line 131 accum = _233; #line 132 float _235 = k * 5.00000000e-01; #line 132 float _236 = lf * _235; #line 132 float _237 = accum + _236; #line 132 accum = _237; #line 133 float _239 = k * 5.00000000e-01; #line 133 float _240 = lg * _239; #line 133 float _241 = accum + _240; #line 133 accum = _241; #line 134 float _243 = k * 5.00000000e-01; #line 134 float _244 = lh * _243; #line 134 float _245 = accum + _244; #line 134 accum = _245; #line 137 float _247 = 6.00000000e+00 * k; #line 137 float _249 = 1.00000000e+00 + _247; #line 137 float _250 = accum / _249; #line 137 accum = _250; #line 140 float4 _251; #line 140 _251 = x; #line 140 float _252 = F__GetLuma(_251); #line 140 float _253 = accum - _252; #line 140 float delta = _253; #line 141 float _256 = x.x + delta; #line 141 x[0] = _256; #line 142 float _258 = x.y + delta; #line 142 x[1] = _258; #line 143 float _260 = x.z + delta; #line 143 x[2] = _260; #line 145 color = x; return; }