2TJ.]8=!(^23851a53779dO  P aPosition _uaPositionRaClipDeviceArea_uaClipDeviceAreaR aClipOrigins_uaClipOriginsaDevicePixelScale_uaDevicePixelScaleS aTransformIds_uaTransformIdsSaClipDataResourceAddress_uaClipDataResourceAddressPaClipSrcRectSize_uaClipSrcRectSize aClipMode _uaClipModeS aStretchMode_uaStretchModeR aClipDestRect_uaClipDestRect \ uTransform _uuTransform^sColor0 _usColor0^ sGpuCache _usGpuCache^sTransformPalette_usTransformPaletteR oFragColor _uoFragColor^^^K0 j'struct VS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD7; nointerpolation float4 v0 : TEXCOORD0; float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; nointerpolation float2 v6 : TEXCOORD6; }; #pragma warning( disable: 3556 3571 ) float float_ctor(int x0) { return float(x0); } float2 vec2_ctor(int2 x0) { return float2(x0); } int int_ctor(uint x0) { return int(x0); } uint uint_ctor(int x0) { return uint(x0); } // Uniforms uniform float4x4 _uTransform : register(c0); static const uint _sColor0 = 0; static const uint _sGpuCache = 1; static const uint _sTransformPalette = 2; uniform Texture2D textures2D[3] : register(t0); uniform SamplerState samplers2D[3] : register(s0); #ifdef ANGLE_ENABLE_LOOP_FLATTEN #define LOOP [loop] #define FLATTEN [flatten] #else #define LOOP #define FLATTEN #endif #define ATOMIC_COUNTER_ARRAY_STRIDE 4 // Attributes static float2 _aPosition = {0, 0}; static float4 _aClipDeviceArea = {0, 0, 0, 0}; static float4 _aClipOrigins = {0, 0, 0, 0}; static float _aDevicePixelScale = {0}; static int2 _aTransformIds = {0, 0}; static int2 _aClipDataResourceAddress = {0, 0}; static float2 _aClipSrcRectSize = {0, 0}; static int _aClipMode = {0}; static int2 _aStretchMode = {0, 0}; static float4 _aClipDestRect = {0, 0, 0, 0}; static float4 gl_Position = float4(0, 0, 0, 0); // Varyings static nointerpolation float4 _vTransformBounds = {0, 0, 0, 0}; static float4 _vLocalPos = {0, 0, 0, 0}; static float2 _vUv = {0, 0}; static nointerpolation float4 _vUvBounds = {0, 0, 0, 0}; static nointerpolation float4 _vEdge = {0, 0, 0, 0}; static nointerpolation float4 _vUvBounds_NoClamp = {0, 0, 0, 0}; static nointerpolation float2 _vClipMode = {0, 0}; cbuffer DriverConstants : register(b1) { float4 dx_ViewAdjust : packoffset(c1); float2 dx_ViewCoords : packoffset(c2); float2 dx_ViewScale : packoffset(c3); struct SamplerMetadata { int baseLevel; int internalFormatBits; int wrapModes; int padding; int4 intBorderColor; }; SamplerMetadata samplerMetadata[3] : packoffset(c4); }; int2 gl_texture2DSize(uint samplerIndex, int lod) { int baseLevel = 0; uint width; uint height; uint numberOfLevels; textures2D[samplerIndex].GetDimensions(baseLevel, width, height, numberOfLevels); width = max(width >> lod, 1); height = max(height >> lod, 1); return int2(width, height); } float4 gl_texture2DFetch(uint samplerIndex, int2 t, int mip) { return textures2D[samplerIndex].Load(int3(t.x, t.y, mip)); } @@ VERTEX ATTRIBUTES @@ VS_OUTPUT generateOutput(VS_INPUT input) { VS_OUTPUT output; output.gl_Position = gl_Position; output.dx_Position.x = gl_Position.x; output.dx_Position.y = - gl_Position.y; output.dx_Position.z = (gl_Position.z + gl_Position.w) * 0.5; output.dx_Position.w = gl_Position.w; output.v0 = _vTransformBounds; output.v1 = _vLocalPos; output.v2 = _vUvBounds; output.v3 = _vEdge; output.v4 = _vUvBounds_NoClamp; output.v5 = _vUv; output.v6 = _vClipMode; return output; } VS_OUTPUT main(VS_INPUT input){ initAttributes(input); float4x4 _transform_m_14908 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; float4x4 _transform_inv_m_24909 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int _tmpvar_34910 = {0}; (_tmpvar_34910 = (_aTransformIds.x & 16777215)); int2 _tmpvar_44911 = {0, 0}; (_tmpvar_44911.x = int_ctor((8 * (uint_ctor(_tmpvar_34910) % 128)))); (_tmpvar_44911.y = int_ctor((uint_ctor(_tmpvar_34910) / 128))); (_transform_m_14908[0] = gl_texture2DFetch(_sTransformPalette, _tmpvar_44911, 0)); (_transform_m_14908[1] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(1, 0)), 0)); (_transform_m_14908[2] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(2, 0)), 0)); (_transform_m_14908[3] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(3, 0)), 0)); (_transform_inv_m_24909[0] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(4, 0)), 0)); (_transform_inv_m_24909[1] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(5, 0)), 0)); (_transform_inv_m_24909[2] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(6, 0)), 0)); (_transform_inv_m_24909[3] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_44911 + int2(7, 0)), 0)); float4x4 _transform_m_54912 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; int _tmpvar_64913 = {0}; (_tmpvar_64913 = (_aTransformIds.y & 16777215)); int2 _tmpvar_74914 = {0, 0}; (_tmpvar_74914.x = int_ctor((8 * (uint_ctor(_tmpvar_64913) % 128)))); (_tmpvar_74914.y = int_ctor((uint_ctor(_tmpvar_64913) / 128))); (_transform_m_54912[0] = gl_texture2DFetch(_sTransformPalette, _tmpvar_74914, 0)); (_transform_m_54912[1] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_74914 + int2(1, 0)), 0)); (_transform_m_54912[2] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_74914 + int2(2, 0)), 0)); (_transform_m_54912[3] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_74914 + int2(3, 0)), 0)); float2 _tmpvar_84915 = {0, 0}; float2 _tmpvar_94916 = {0, 0}; (_tmpvar_84915 = _aClipDestRect.xy); (_tmpvar_94916 = _aClipDestRect.zw); float2 _uv_rect_p0_104917 = {0, 0}; float2 _uv_rect_p1_114918 = {0, 0}; float4 _tmpvar_124919 = {0, 0, 0, 0}; (_tmpvar_124919 = gl_texture2DFetch(_sGpuCache, _aClipDataResourceAddress, 0)); (_uv_rect_p0_104917 = _tmpvar_124919.xy); (_uv_rect_p1_114918 = _tmpvar_124919.zw); float4 _pos_134920 = {0, 0, 0, 0}; float4 _tmpvar_144921 = {0, 0, 0, 0}; (_tmpvar_144921.zw = float2(0.0, 1.0)); (_tmpvar_144921.xy = ((_aClipOrigins.zw + lerp(_aClipDeviceArea.xy, _aClipDeviceArea.zw, _aPosition)) / _aDevicePixelScale)); float4 _tmpvar_154922 = {0, 0, 0, 0}; (_tmpvar_154922 = mul(transpose(_transform_m_54912), _tmpvar_144921)); (_pos_134920.w = _tmpvar_154922.w); (_pos_134920.xyz = (_tmpvar_154922.xyz / _tmpvar_154922.w)); float2 _tmpvar_164923 = {0, 0}; (_tmpvar_164923 = _pos_134920.xy); float4 _tmpvar_174924 = {0, 0, 0, 0}; (_tmpvar_174924 = mul(transpose(_transform_m_14908), float4(0.0, 0.0, 0.0, 1.0))); float3 _tmpvar_184925 = {0, 0, 0}; float3 _tmpvar_194926 = {0, 0, 0}; float3 _tmpvar_204927 = {0, 0, 0}; (_tmpvar_184925 = _transform_inv_m_24909[0].xyz); (_tmpvar_194926 = _transform_inv_m_24909[1].xyz); (_tmpvar_204927 = _transform_inv_m_24909[2].xyz); float3x3 _tmpvar_214928 = {0, 0, 0, 0, 0, 0, 0, 0, 0}; (_tmpvar_214928[0].x = _tmpvar_184925.x); (_tmpvar_214928[1].x = _tmpvar_184925.y); (_tmpvar_214928[2].x = _tmpvar_184925.z); (_tmpvar_214928[0].y = _tmpvar_194926.x); (_tmpvar_214928[1].y = _tmpvar_194926.y); (_tmpvar_214928[2].y = _tmpvar_194926.z); (_tmpvar_214928[0].z = _tmpvar_204927.x); (_tmpvar_214928[1].z = _tmpvar_204927.y); (_tmpvar_214928[2].z = _tmpvar_204927.z); float3 _tmpvar_224929 = {0, 0, 0}; (_tmpvar_224929.z = -10000.0); (_tmpvar_224929.xy = _tmpvar_164923); float3 _tmpvar_234930 = {0, 0, 0}; (_tmpvar_234930 = mul(transpose(_tmpvar_214928), float3(0.0, 0.0, 1.0))); float3 _tmpvar_244931 = {0, 0, 0}; (_tmpvar_244931 = (_tmpvar_174924.xyz / _tmpvar_174924.w)); float _tmpvar_254932 = {0}; float _tmpvar_264933 = {0}; (_tmpvar_264933 = dot(_tmpvar_234930, float3(0.0, 0.0, 1.0))); float _tmpvar_274934 = {0}; (_tmpvar_274934 = abs(_tmpvar_264933)); if ((1e-06 < _tmpvar_274934)) { (_tmpvar_254932 = (dot((_tmpvar_244931 - _tmpvar_224929), _tmpvar_234930) / _tmpvar_264933)); } float4 _tmpvar_284935 = {0, 0, 0, 0}; (_tmpvar_284935.w = 1.0); (_tmpvar_284935.xy = _tmpvar_164923); (_tmpvar_284935.z = (-10000.0 + _tmpvar_254932)); float4 _tmpvar_294936 = {0, 0, 0, 0}; (_tmpvar_294936 = (mul(transpose(_transform_inv_m_24909), _tmpvar_284935) * _tmpvar_154922.w)); float4 _tmpvar_304937 = {0, 0, 0, 0}; (_tmpvar_304937.zw = float2(0.0, 1.0)); (_tmpvar_304937.xy = (_aClipOrigins.xy + lerp(_aClipDeviceArea.xy, _aClipDeviceArea.zw, _aPosition))); (gl_Position = mul(transpose(_uTransform), _tmpvar_304937)); float4 _tmpvar_314938 = {0, 0, 0, 0}; (_tmpvar_314938.xy = _tmpvar_84915); (_tmpvar_314938.zw = _tmpvar_94916); (_vTransformBounds = _tmpvar_314938); (_vClipMode.x = float_ctor(_aClipMode)); float2 _tmpvar_324939 = {0, 0}; (_tmpvar_324939 = vec2_ctor(gl_texture2DSize(_sColor0, 0))); float2 _tmpvar_334940 = {0, 0}; (_tmpvar_334940 = (_tmpvar_294936.xy / _tmpvar_294936.w)); (_vLocalPos = _tmpvar_294936); float2 _tmpvar_344941 = {0, 0}; (_tmpvar_344941 = (_aClipDestRect.zw - _aClipDestRect.xy)); bool _tmpvar_354942 = {0}; bool _tmpvar_364943 = {0}; (_tmpvar_364943 = false); (_tmpvar_354942 = (0 == _aStretchMode.x)); if (_tmpvar_354942) { (_vEdge.x = 0.5); (_vEdge.z = ((_tmpvar_344941.x / _aClipSrcRectSize.x) - 0.5)); (_vUv.x = ((_tmpvar_334940.x - _aClipDestRect.x) / _aClipSrcRectSize.x)); (_tmpvar_364943 = true); } (_tmpvar_354942 = (!_tmpvar_364943)); if (_tmpvar_354942) { (_vEdge.xz = float2(1.0, 1.0)); (_vUv.x = ((_tmpvar_334940.x - _aClipDestRect.x) / _tmpvar_344941.x)); (_tmpvar_364943 = true); } bool _tmpvar_374944 = {0}; bool _tmpvar_384945 = {0}; (_tmpvar_384945 = false); (_tmpvar_374944 = (0 == _aStretchMode.y)); if (_tmpvar_374944) { (_vEdge.y = 0.5); (_vEdge.w = ((_tmpvar_344941.y / _aClipSrcRectSize.y) - 0.5)); (_vUv.y = ((_tmpvar_334940.y - _aClipDestRect.y) / _aClipSrcRectSize.y)); (_tmpvar_384945 = true); } (_tmpvar_374944 = (!_tmpvar_384945)); if (_tmpvar_374944) { (_vEdge.yw = float2(1.0, 1.0)); (_vUv.y = ((_tmpvar_334940.y - _aClipDestRect.y) / _tmpvar_344941.y)); (_tmpvar_384945 = true); } (_vUv = (_vUv * _tmpvar_294936.w)); float4 _tmpvar_394946 = {0, 0, 0, 0}; (_tmpvar_394946.xy = (_tmpvar_124919.xy + float2(0.5, 0.5))); (_tmpvar_394946.zw = (_tmpvar_124919.zw - float2(0.5, 0.5))); (_vUvBounds = (_tmpvar_394946 / _tmpvar_324939.xyxy)); float4 _tmpvar_404947 = {0, 0, 0, 0}; (_tmpvar_404947.xy = _uv_rect_p0_104917); (_tmpvar_404947.zw = _uv_rect_p1_114918); (_vUvBounds_NoClamp = (_tmpvar_404947 / _tmpvar_324939.xyxy)); return generateOutput(input); } struct PS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD7; nointerpolation float4 v0 : TEXCOORD0; float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; nointerpolation float2 v6 : TEXCOORD6; }; #pragma warning( disable: 3556 3571 ) float float_ctor(bool x0) { return float(x0); } float2 vec2_ctor(bool2 x0) { return float2(x0); } float4 vec4_ctor(float x0) { return float4(x0, x0, x0, x0); } // Uniforms static const uint _sColor0 = 0; uniform Texture2D textures2D[1] : register(t0); uniform SamplerState samplers2D[1] : register(s0); #ifdef ANGLE_ENABLE_LOOP_FLATTEN #define LOOP [loop] #define FLATTEN [flatten] #else #define LOOP #define FLATTEN #endif #define ATOMIC_COUNTER_ARRAY_STRIDE 4 // Varyings static nointerpolation float4 _vTransformBounds = {0, 0, 0, 0}; static float4 _vLocalPos = {0, 0, 0, 0}; static float2 _vUv = {0, 0}; static nointerpolation float4 _vUvBounds = {0, 0, 0, 0}; static nointerpolation float4 _vEdge = {0, 0, 0, 0}; static nointerpolation float4 _vUvBounds_NoClamp = {0, 0, 0, 0}; static nointerpolation float2 _vClipMode = {0, 0}; static float4 out_oFragColor = {0, 0, 0, 0}; cbuffer DriverConstants : register(b1) { struct SamplerMetadata { int baseLevel; int internalFormatBits; int wrapModes; int padding; int4 intBorderColor; }; SamplerMetadata samplerMetadata[1] : packoffset(c4); }; float4 gl_texture2D(uint samplerIndex, float2 t) { return textures2D[samplerIndex].Sample(samplers2D[samplerIndex], float2(t.x, t.y)); } @@ PIXEL OUTPUT @@ PS_OUTPUT main(PS_INPUT input){ _vTransformBounds = input.v0; _vLocalPos = input.v1; _vUvBounds = input.v2; _vEdge = input.v3; _vUvBounds_NoClamp = input.v4; _vUv = input.v5.xy; _vClipMode = input.v6.xy; float2 _uv_14896 = {0, 0}; float2 _tmpvar_24897 = {0, 0}; (_tmpvar_24897 = (_vUv / _vLocalPos.w)); (_uv_14896 = (min(max(_tmpvar_24897, float2(0.0, 0.0)), _vEdge.xy) + max(float2(0.0, 0.0), (_tmpvar_24897 - _vEdge.zw)))); float2 _tmpvar_34898 = {0, 0}; (_tmpvar_34898 = min(max(lerp(_vUvBounds_NoClamp.xy, _vUvBounds_NoClamp.zw, _uv_14896), _vUvBounds.xy), _vUvBounds.zw)); (_uv_14896 = _tmpvar_34898); float2 _tmpvar_44899 = {0, 0}; (_tmpvar_44899 = (_vLocalPos.xy / _vLocalPos.w)); float _tmpvar_54900 = {0}; float2 _tmpvar_64901 = {0, 0}; (_tmpvar_64901.x = float_ctor((_tmpvar_44899.x >= _vTransformBounds.z))); (_tmpvar_64901.y = float_ctor((_tmpvar_44899.y >= _vTransformBounds.w))); float2 _tmpvar_74902 = {0, 0}; (_tmpvar_74902 = (vec2_ctor((_tmpvar_44899 >= _vTransformBounds.xy)) - _tmpvar_64901)); (_tmpvar_54900 = (_tmpvar_74902.x * _tmpvar_74902.y)); float4 _tmpvar_84903 = {0, 0, 0, 0}; (_tmpvar_84903 = gl_texture2D(_sColor0, _tmpvar_34898)); float _tmpvar_94904 = {0}; (_tmpvar_94904 = lerp(_tmpvar_84903.x, (1.0 - _tmpvar_84903.x), _vClipMode.x)); float _tmpvar_104905 = {0}; if ((0.0 < _vLocalPos.w)) { (_tmpvar_104905 = lerp(_vClipMode.x, _tmpvar_94904, _tmpvar_54900)); } else { (_tmpvar_104905 = 0.0); } (out_oFragColor = vec4_ctor(_tmpvar_104905)); return generateOutput(); } Rout_oFragColorout_oFragColorstruct GS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD7; nointerpolation float4 v0 : TEXCOORD0; float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; nointerpolation float2 v6 : TEXCOORD6; }; struct GS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD7; nointerpolation float4 v0 : TEXCOORD0; float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; nointerpolation float2 v6 : TEXCOORD6; }; void copyVertex(inout GS_OUTPUT output, GS_INPUT input, GS_INPUT flatinput) { output.gl_Position = input.gl_Position; output.v0 = flatinput.v0; output.v1 = input.v1; output.v2 = flatinput.v2; output.v3 = flatinput.v3; output.v4 = flatinput.v4; output.v5 = input.v5; output.v6 = flatinput.v6; #ifndef ANGLE_POINT_SPRITE_SHADER output.dx_Position = input.dx_Position; #endif // ANGLE_POINT_SPRITE_SHADER }  \DXBC!h=9v/X3}|\4 ,,RDEFp\ gtextures2D$Globalsg@@_uTransformMicrosoft (R) HLSL Shader Compiler 10.1ISGN   TEXCOORDOSGN   SV_PositionTEXCOORDSHDR AjYF XpUUXpUUXpUU_2____2_2_2__2_ g e e e e e e e2 e2 hFA2 FFFF2 6B@?BF FF F:*8B :@?F F"F F6  6" A6 F6 F 6B@@6@)@ 2 @U@ @ 2@-rFF{8V 6@62-rFF{2 rF6@ 2@-rFF{rFF2F 6@ 2@-FF~FFAF 6@ 2@-FF~6* 2@6@-FF~6"*8VF2 FF 2@ 2@6@-FF~6B*FF *1"@75*  @@2 FF6@-FF~FF8 F6 F62F6@-FF~ F@??=2@F~S F@+F FF FF2F2FFA 2FF2FA  2FF2FF 2F@6 6B@?6B@?7 r6V 7 rV 6R V6 V 6 82 +  6" @>STATt]% DXBCTEʩW4 lRDEFr\g samplers2Dtextures2DMicrosoft (R) HLSL Shader Compiler 10.1ISGN  SV_PositionTEXCOORDOSGN, SV_TARGETSHDRXAjZ`XpUUbbbbbb2be h2F4 @2FA4 2F@32F A2 2F F42FF32FE FF~`2 " @@?2     AFF F@????bA 8"*2   1"@: V>STATt-֙3