: 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 32 "Letterbox.fx" void F__PSMain( #line 32 in S__VSOut i, #line 32 out float4 color : SV_TARGET) { #line 34 float4 _56 = V__NV__ColorInput.t.Sample(V__NV__ColorInput.s, i.uv); #line 34 color = _56; #line 36 float _59 = 1.00000000e+00 / _1.y; #line 36 float _61 = ((float)((int)_1.x)) * _59; #line 36 float current_aspect = _61; #line 39 bool _67 = captureState != 4; #line 39 bool _69 = captureState != 5; #line 39 bool _70 = _67 && _69; #line 39 [branch] if (_70) { #line 41 float _73 = ((float)g_sldASPX) / ((float)g_sldASPY); #line 41 float g_sldASP = _73; #line 43 float2 _78 = lerp(tileUV.xy, tileUV.zw, i.uv.xy); #line 43 float2 ntxcoord = _78; #line 45 float2 _81 = ntxcoord * float2(2.00000000e+00, 2.00000000e+00); #line 45 float2 _83 = _81 - float2(1.00000000e+00, 1.00000000e+00); #line 45 ntxcoord = _83; #line 48 bool _87 = g_sldASP < current_aspect; #line 48 [flatten] if (_87) { #line 50 float _88 = current_aspect / g_sldASP; #line 50 float _90 = ntxcoord.x * _88; #line 50 ntxcoord[0] = _90; } else { #line 54 float _91 = current_aspect / g_sldASP; #line 54 float _93 = ntxcoord.y / _91; #line 54 ntxcoord[1] = _93; } #line 56 float2 _94 = ntxcoord * ntxcoord; #line 56 float2 _96 = float2(1.00000000e+00, 1.00000000e+00) - _94; #line 56 float2 _97 = saturate(_96); #line 56 bool _99 = all(((bool2)_97)); #line 56 float3 _102 = color.xyz * ((float3)_99.xxx); #line 56 color.xyz = _102; } return; }