$1šu  _DITHERING_FXAA_RCAS/#ifdef VERTEX #version 310 es #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif uniform vec4 _BlitScaleBias; layout(location = 0) out highp vec2 vs_TEXCOORD0; vec2 u_xlat0; uvec3 u_xlatu0; void main() { u_xlatu0.x = uint(int(bitfieldInsert(0, gl_VertexID, 1 & int(0x1F), 1))); u_xlatu0.z = uint(gl_VertexID) & 2u; u_xlat0.xy = vec2(u_xlatu0.xz); gl_Position.xy = u_xlat0.xy * vec2(2.0, 2.0) + vec2(-1.0, -1.0); vs_TEXCOORD0.xy = u_xlat0.xy * _BlitScaleBias.xy + _BlitScaleBias.zw; gl_Position.zw = vec2(-1.0, 1.0); return; } #endif #ifdef FRAGMENT #version 310 es precision highp float; precision highp int; #define HLSLCC_ENABLE_UNIFORM_BUFFERS 1 #if HLSLCC_ENABLE_UNIFORM_BUFFERS #define UNITY_UNIFORM #else #define UNITY_UNIFORM uniform #endif #define UNITY_SUPPORTS_UNIFORM_LOCATION 1 #if UNITY_SUPPORTS_UNIFORM_LOCATION #define UNITY_LOCATION(x) layout(location = x) #define UNITY_BINDING(x) layout(binding = x, std140) #else #define UNITY_LOCATION(x) #define UNITY_BINDING(x) layout(std140) #endif uniform vec2 _GlobalMipBias; uniform vec4 _SourceSize; uniform vec4 _Dithering_Params; uniform vec4 _FsrRcasConstants; UNITY_LOCATION(0) uniform mediump sampler2D _BlitTexture; UNITY_LOCATION(1) uniform mediump sampler2D _BlueNoise_Texture; layout(location = 0) in highp vec2 vs_TEXCOORD0; layout(location = 0) out mediump vec4 SV_Target0; vec4 u_xlat0; mediump vec4 u_xlat16_0; ivec4 u_xlati0; mediump ivec4 u_xlati16_0; uvec4 u_xlatu0; vec4 u_xlat1; mediump vec3 u_xlat16_1; ivec4 u_xlati1; uvec4 u_xlatu1; bvec3 u_xlatb1; vec4 u_xlat2; mediump ivec4 u_xlati16_2; uvec4 u_xlatu2; vec3 u_xlat3; mediump vec3 u_xlat16_3; bvec3 u_xlatb3; mediump ivec4 u_xlati16_4; vec3 u_xlat5; mediump vec3 u_xlat16_6; vec3 u_xlat7; vec3 u_xlat8; vec3 u_xlat9; mediump vec3 u_xlat16_10; mediump vec3 u_xlat16_11; mediump vec3 u_xlat16_12; mediump uint u_xlatu16_13; mediump vec3 u_xlat16_20; mediump vec3 u_xlat16_24; float u_xlat29; uint u_xlatu29; mediump float u_xlat16_34; float u_xlat43; mediump float u_xlat16_43; bool u_xlatb43; mediump float u_xlat16_48; void main() { u_xlati16_0.z = int(0); u_xlati16_0.w = int(0); u_xlat1.xy = vs_TEXCOORD0.xy * _SourceSize.xy; u_xlatu1.xy = uvec2(ivec2(u_xlat1.xy)); u_xlati16_2 = ivec4(u_xlatu1.xyxy) + ivec4(0, int(0xFFFFFFFFu), int(0xFFFFFFFFu), 0); u_xlati16_0.xy = u_xlati16_2.zw; u_xlat3.xyz = texelFetch(_BlitTexture, u_xlati16_0.xy, u_xlati16_0.w).xyz; u_xlati16_0.z = int(0); u_xlati16_0.w = int(0); u_xlati16_4 = ivec4(u_xlatu1.xyxy) + ivec4(0, 1, 1, 0); u_xlati16_0.xy = u_xlati16_4.zw; u_xlat5.xyz = texelFetch(_BlitTexture, u_xlati16_0.xy, u_xlati16_0.w).xyz; u_xlat16_6.xyz = max(u_xlat3.xyz, u_xlat5.xyz); u_xlati16_2.z = int(0); u_xlati16_2.w = int(0); u_xlat7.xyz = texelFetch(_BlitTexture, u_xlati16_2.xy, u_xlati16_2.w).xyz; u_xlat16_6.xyz = max(u_xlat16_6.xyz, u_xlat7.xyz); u_xlati16_4.z = int(0); u_xlati16_4.w = int(0); u_xlat8.xyz = texelFetch(_BlitTexture, u_xlati16_4.xy, u_xlati16_4.w).xyz; u_xlat16_6.xyz = max(u_xlat16_6.xyz, u_xlat8.xyz); u_xlatu1.z = uint(0u); u_xlatu1.w = uint(0u); u_xlat9.xyz = texelFetch(_BlitTexture, ivec2(u_xlatu1.xy), int(u_xlatu1.w)).xyz; u_xlat16_10.xyz = max(u_xlat16_6.xyz, u_xlat9.xyz); u_xlat16_6.xyz = u_xlat16_6.xyz * vec3(4.0, 4.0, 4.0); u_xlat16_6.xyz = vec3(1.0) / vec3(u_xlat16_6.xyz); u_xlat16_10.xyz = (-u_xlat16_10.xyz) + vec3(1.0, 1.0, 1.0); u_xlat16_11.xyz = min(u_xlat3.xyz, u_xlat5.xyz); u_xlat16_11.xyz = min(u_xlat7.xyz, u_xlat16_11.xyz); u_xlat16_11.xyz = min(u_xlat8.xyz, u_xlat16_11.xyz); u_xlat16_12.xyz = u_xlat16_11.xyz * vec3(4.0, 4.0, 4.0) + vec3(-4.0, -4.0, -4.0); u_xlat16_11.xyz = min(u_xlat9.xyz, u_xlat16_11.xyz); u_xlat16_6.xyz = u_xlat16_6.xyz * u_xlat16_11.xyz; u_xlat16_11.xyz = vec3(1.0) / vec3(u_xlat16_12.xyz); u_xlat16_10.xyz = u_xlat16_10.xyz * u_xlat16_11.xyz; u_xlat16_6.xyz = max((-u_xlat16_6.xyz), u_xlat16_10.xyz); u_xlat16_20.x = max(u_xlat16_6.z, u_xlat16_6.y); u_xlat16_6.x = max(u_xlat16_20.x, u_xlat16_6.x); u_xlat16_6.x = min(u_xlat16_6.x, 0.0); u_xlat16_6.x = max(u_xlat16_6.x, -0.1875); u_xlatu29 = uint(floatBitsToUint(_FsrRcasConstants.y)) & 65535u; u_xlat29 = unpackHalf2x16(u_xlatu29).x; u_xlat16_6.x = u_xlat29 * u_xlat16_6.x; u_xlat16_20.xyz = u_xlat3.xyz * u_xlat16_6.xxx; u_xlat16_20.xyz = u_xlat16_6.xxx * u_xlat7.xyz + u_xlat16_20.xyz; u_xlat16_20.xyz = u_xlat16_6.xxx * u_xlat8.xyz + u_xlat16_20.xyz; u_xlat16_20.xyz = u_xlat16_6.xxx * u_xlat5.xyz + u_xlat16_20.xyz; u_xlat16_6.x = u_xlat16_6.x * 4.0 + 1.0; u_xlat16_20.xyz = u_xlat9.xyz + u_xlat16_20.xyz; u_xlatu29 = packHalf2x16(vec2(u_xlat16_6.x, 0.0)); u_xlatu16_13 = uint((-int(u_xlatu29)) + 30605); u_xlat29 = unpackHalf2x16(u_xlatu16_13).x; u_xlat16_6.x = (-u_xlat29) * u_xlat16_6.x + 2.0; u_xlat16_6.x = u_xlat29 * u_xlat16_6.x; u_xlat16_6.xyz = u_xlat16_6.xxx * u_xlat16_20.xyz; u_xlat16_6.xyz = clamp(u_xlat16_6.xyz, 0.0, 1.0); u_xlat16_6.x = dot(u_xlat16_6.xyz, vec3(0.212672904, 0.715152204, 0.0721750036)); u_xlati0 = ivec4(u_xlatu1.xyxy) + ivec4(int(0xFFFFFFFFu), int(0xFFFFFFFFu), 1, int(0xFFFFFFFFu)); u_xlati1 = ivec4(u_xlatu1.xyxy) + ivec4(int(0xFFFFFFFFu), 1, 1, 1); u_xlat1 = vec4(u_xlati1); u_xlat1 = max(u_xlat1, vec4(0.0, 0.0, 0.0, 0.0)); u_xlat0 = vec4(u_xlati0); u_xlat0 = max(u_xlat0, vec4(0.0, 0.0, 0.0, 0.0)); u_xlat2 = _SourceSize.xyxy + vec4(-1.0, -1.0, -1.0, -1.0); u_xlat0 = min(u_xlat0, u_xlat2); u_xlat1 = min(u_xlat1, u_xlat2); u_xlatu1 = uvec4(ivec4(u_xlat1.zwxy)); u_xlatu0 = uvec4(ivec4(u_xlat0.zwxy)); u_xlatu2.xy = u_xlatu0.zw; u_xlatu2.z = uint(0u); u_xlatu2.w = uint(0u); u_xlat3.xyz = texelFetch(_BlitTexture, ivec2(u_xlatu2.xy), int(u_xlatu2.w)).xyz; u_xlat16_20.xyz = u_xlat3.xyz; u_xlat16_20.xyz = clamp(u_xlat16_20.xyz, 0.0, 1.0); u_xlat16_20.x = dot(u_xlat16_20.xyz, vec3(0.212672904, 0.715152204, 0.0721750036)); u_xlat16_34 = min(u_xlat16_20.x, u_xlat16_6.x); u_xlat16_6.x = max(u_xlat16_20.x, u_xlat16_6.x); u_xlatu0.z = uint(0u); u_xlatu0.w = uint(0u); u_xlat3.xyz = texelFetch(_BlitTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w)).xyz; u_xlat16_10.xyz = u_xlat3.xyz; u_xlat16_10.xyz = clamp(u_xlat16_10.xyz, 0.0, 1.0); u_xlat16_20.z = dot(u_xlat16_10.xyz, vec3(0.212672904, 0.715152204, 0.0721750036)); u_xlatu0.xy = u_xlatu1.zw; u_xlatu0.z = uint(0u); u_xlatu0.w = uint(0u); u_xlat3.xyz = texelFetch(_BlitTexture, ivec2(u_xlatu0.xy), int(u_xlatu0.w)).xyz; u_xlat16_10.xyz = u_xlat3.xyz; u_xlat16_10.xyz = clamp(u_xlat16_10.xyz, 0.0, 1.0); u_xlat16_10.x = dot(u_xlat16_10.xyz, vec3(0.212672904, 0.715152204, 0.0721750036)); u_xlat16_24.x = min(u_xlat16_20.z, u_xlat16_10.x); u_xlatu1.z = uint(0u); u_xlatu1.w = uint(0u); u_xlat1.xyz = texelFetch(_BlitTexture, ivec2(u_xlatu1.xy), int(u_xlatu1.w)).xyz; u_xlat16_11.xyz = u_xlat1.xyz; u_xlat16_11.xyz = clamp(u_xlat16_11.xyz, 0.0, 1.0); u_xlat16_10.z = dot(u_xlat16_11.xyz, vec3(0.212672904, 0.715152204, 0.0721750036)); u_xlat16_24.x = min(u_xlat16_10.z, u_xlat16_24.x); u_xlat16_6.z = min(u_xlat16_34, u_xlat16_24.x); u_xlat16_24.xz = u_xlat16_20.xz + u_xlat16_10.xz; u_xlat16_20.x = u_xlat16_20.z + u_xlat16_20.x; u_xlat16_48 = max(u_xlat16_20.z, u_xlat16_10.x); u_xlat16_48 = max(u_xlat16_10.z, u_xlat16_48); u_xlat16_6.x = max(u_xlat16_48, u_xlat16_6.x); u_xlat16_0.yw = (-u_xlat16_24.zz) + u_xlat16_24.xx; u_xlat16_48 = u_xlat16_10.z + u_xlat16_10.x; u_xlat16_10.x = u_xlat16_10.x + u_xlat16_20.x; u_xlat16_20.x = (-u_xlat16_48) + u_xlat16_20.x; u_xlat16_48 = u_xlat16_10.z + u_xlat16_10.x; u_xlat16_48 = u_xlat16_48 * 0.03125; u_xlat16_48 = max(u_xlat16_48, 0.0078125); u_xlat1.x = min(abs(u_xlat16_0.w), abs(u_xlat16_20.x)); u_xlat16_0.xz = (-u_xlat16_20.xx); u_xlat1.x = u_xlat16_48 + u_xlat1.x; u_xlat1.x = float(1.0) / float(u_xlat1.x); u_xlat0 = u_xlat16_0 * u_xlat1.xxxx; u_xlat0 = max(u_xlat0, vec4(-8.0, -8.0, -8.0, -8.0)); u_xlat0 = min(u_xlat0, vec4(8.0, 8.0, 8.0, 8.0)); u_xlat0 = u_xlat0 * _SourceSize.zwzw; u_xlat1 = u_xlat0.zwzw * vec4(-0.5, -0.5, -0.166666672, -0.166666672) + vs_TEXCOORD0.xyxy; u_xlat0 = u_xlat0 * vec4(0.166666672, 0.166666672, 0.5, 0.5) + vs_TEXCOORD0.xyxy; u_xlat16_3.xyz = texture(_BlitTexture, u_xlat1.xy, _GlobalMipBias.x).xyz; u_xlat16_1.xyz = texture(_BlitTexture, u_xlat1.zw, _GlobalMipBias.x).xyz; u_xlat16_10.xyz = u_xlat16_1.xyz; u_xlat16_10.xyz = clamp(u_xlat16_10.xyz, 0.0, 1.0); u_xlat16_11.xyz = u_xlat16_3.xyz; u_xlat16_11.xyz = clamp(u_xlat16_11.xyz, 0.0, 1.0); u_xlat16_1.xyz = texture(_BlitTexture, u_xlat0.zw, _GlobalMipBias.x).xyz; u_xlat16_3.xyz = texture(_BlitTexture, u_xlat0.xy, _GlobalMipBias.x).xyz; u_xlat16_12.xyz = u_xlat16_3.xyz; u_xlat16_12.xyz = clamp(u_xlat16_12.xyz, 0.0, 1.0); u_xlat16_10.xyz = u_xlat16_10.xyz + u_xlat16_12.xyz; u_xlat16_12.xyz = u_xlat16_1.xyz; u_xlat16_12.xyz = clamp(u_xlat16_12.xyz, 0.0, 1.0); u_xlat16_11.xyz = u_xlat16_11.xyz + u_xlat16_12.xyz; u_xlat16_11.xyz = u_xlat16_11.xyz * vec3(0.25, 0.25, 0.25); u_xlat16_11.xyz = u_xlat16_10.xyz * vec3(0.25, 0.25, 0.25) + u_xlat16_11.xyz; u_xlat16_10.xyz = u_xlat16_10.xyz * vec3(0.5, 0.5, 0.5); u_xlat16_6.y = dot(u_xlat16_11.xyz, vec3(0.212672904, 0.715152204, 0.0721750036)); u_xlatb1.xy = lessThan(u_xlat16_6.yxyy, u_xlat16_6.zyzz).xy; u_xlatb1.x = u_xlatb1.y || u_xlatb1.x; u_xlat16_6.xyz = (u_xlatb1.x) ? u_xlat16_10.xyz : u_xlat16_11.xyz; u_xlat1.xyz = log2(u_xlat16_6.xyz); u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657); u_xlat1.xyz = exp2(u_xlat1.xyz); u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997); u_xlatb3.xyz = greaterThanEqual(vec4(0.00313080009, 0.00313080009, 0.00313080009, 0.0), u_xlat16_6.xyzx).xyz; u_xlat16_6.xyz = u_xlat16_6.xyz * vec3(12.9232101, 12.9232101, 12.9232101); { vec4 hlslcc_movcTemp = u_xlat1; hlslcc_movcTemp.x = (u_xlatb3.x) ? u_xlat16_6.x : u_xlat1.x; hlslcc_movcTemp.y = (u_xlatb3.y) ? u_xlat16_6.y : u_xlat1.y; hlslcc_movcTemp.z = (u_xlatb3.z) ? u_xlat16_6.z : u_xlat1.z; u_xlat1 = hlslcc_movcTemp; } u_xlat3.xy = vs_TEXCOORD0.xy * _Dithering_Params.xy + _Dithering_Params.zw; u_xlat16_43 = texture(_BlueNoise_Texture, u_xlat3.xy, _GlobalMipBias.x).w; u_xlat43 = u_xlat16_43 * 2.0 + -1.0; u_xlat3.x = -abs(u_xlat43) + 1.0; u_xlatb43 = u_xlat43>=0.0; u_xlat43 = (u_xlatb43) ? 1.0 : -1.0; u_xlat3.x = sqrt(u_xlat3.x); u_xlat3.x = (-u_xlat3.x) + 1.0; u_xlat43 = u_xlat43 * u_xlat3.x; u_xlat1.xyz = vec3(u_xlat43) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz; u_xlat16_6.xyz = u_xlat1.xyz + vec3(0.0549999997, 0.0549999997, 0.0549999997); u_xlat16_6.xyz = u_xlat16_6.xyz * vec3(0.947867334, 0.947867334, 0.947867334); u_xlat3.xyz = log2(abs(u_xlat16_6.xyz)); u_xlat3.xyz = u_xlat3.xyz * vec3(2.4000001, 2.4000001, 2.4000001); u_xlat3.xyz = exp2(u_xlat3.xyz); u_xlat16_6.xyz = u_xlat1.xyz * vec3(0.0773993805, 0.0773993805, 0.0773993805); u_xlatb1.xyz = greaterThanEqual(vec4(0.0404499993, 0.0404499993, 0.0404499993, 0.0), u_xlat1.xyzx).xyz; SV_Target0.x = (u_xlatb1.x) ? u_xlat16_6.x : u_xlat3.x; SV_Target0.y = (u_xlatb1.y) ? u_xlat16_6.y : u_xlat3.y; SV_Target0.z = (u_xlatb1.z) ? u_xlat16_6.z : u_xlat3.z; SV_Target0.w = 1.0; return; } #endif $Globals@_GlobalMipBias _SourceSize_Dithering_Params _FsrRcasConstants0 _BlitTexture_BlueNoise_Texture$Globals