2нT▒шA║й(╞L╤$23851a53779dPЛЄН aPosition _uaPosition                RЛЄНaScaleTargetRect_uaScaleTargetRect                RЛЄНaScaleSourceRect_uaScaleSourceRect                \ЛЄН uTransform _uuTransform                                        ^ЛsColor0 _usColor0                                        ММRЛЄН oFragColor _uoFragColor                    ^Л    ШФK0щб                                                                                         struct VS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD2; nointerpolation float4 v0 : TEXCOORD0; float2 v1 : TEXCOORD1; }; #pragma warning( disable: 3556 3571 ) float2 vec2_ctor(int2 x0) { return float2(x0); } // Uniforms uniform float4x4 _uTransform : register(c0); 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 // Attributes static float2 _aPosition = {0, 0}; static float4 _aScaleTargetRect = {0, 0, 0, 0}; static float4 _aScaleSourceRect = {0, 0, 0, 0}; static float4 gl_Position = float4(0, 0, 0, 0); // Varyings static float2 _vUv = {0, 0}; static nointerpolation float4 _vUvRect = {0, 0, 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[1] : 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); } @@ 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 = _vUvRect; output.v1 = _vUv; return output; } VS_OUTPUT main(VS_INPUT input){ initAttributes(input); float2 _tmpvar_14894 = {0, 0}; (_tmpvar_14894 = (_aScaleSourceRect.zw - _aScaleSourceRect.xy)); float2 _tmpvar_24895 = {0, 0}; (_tmpvar_24895 = vec2_ctor(gl_texture2DSize(_sColor0, 0))); float4 _tmpvar_34896 = {0, 0, 0, 0}; (_tmpvar_34896.xy = (_aScaleSourceRect.xy + float2(0.5, 0.5))); (_tmpvar_34896.zw = ((_aScaleSourceRect.xy + _tmpvar_14894) - float2(0.5, 0.5))); (_vUvRect = (_tmpvar_34896 / _tmpvar_24895.xyxy)); (_vUv = ((_aScaleSourceRect.xy + (_tmpvar_14894 * _aPosition)) / _tmpvar_24895)); float4 _tmpvar_44897 = {0, 0, 0, 0}; (_tmpvar_44897.zw = float2(0.0, 1.0)); (_tmpvar_44897.xy = lerp(_aScaleTargetRect.xy, _aScaleTargetRect.zw, _aPosition)); (gl_Position = mul(transpose(_uTransform), _tmpvar_44897)); return generateOutput(input); } struct PS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD2; nointerpolation float4 v0 : TEXCOORD0; float2 v1 : TEXCOORD1; }; #pragma warning( disable: 3556 3571 ) // 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 float2 _vUv = {0, 0}; static nointerpolation float4 _vUvRect = {0, 0, 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){ _vUvRect = input.v0; _vUv = input.v1.xy; (out_oFragColor = gl_texture2D(_sColor0, min(max(_vUv, _vUvRect.xy), _vUvRect.zw))); return generateOutput(); } RЛout_oFragColorout_oFragColorvstruct GS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD2; nointerpolation float4 v0 : TEXCOORD0; float2 v1 : TEXCOORD1; }; struct GS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD2; nointerpolation float4 v0 : TEXCOORD0; float2 v1 : TEXCOORD1; }; 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; #ifndef ANGLE_POINT_SPRITE_SHADER output.dx_Position = input.dx_Position; #endif // ANGLE_POINT_SPRITE_SHADER } мЬЬlDXBCm.%a╔╤пўWЁЕ▐ЪКNl4 Д ЁRDEFфp■ ┴╝\     gtextures2D$GlobalsgИ@а@м_uTransformMicrosoft (R) HLSL Shader Compiler 10.1ISGN\PPPTEXCOORDлллOSGNАhttt SV_PositionTEXCOORDлллSHDR▄A╖jYFО XpUU_2_Є_ЄgЄ eЄ eЄ e2 h2FАAц2 2FFF6B@А?BFГ FВFГ FВ:*8B :@?FГ F"FГ F6Т  6" АA6Є F=2@F~S 2F@+2F ЄF@??┐┐Є FF┬АAж2 ┬ж2 ц F>STATtрМ╠DXBCEW=*└Йub-є╧Н┌X╠4╪`ФPRDEFЬ  ┴r\g     samplers2Dtextures2DMicrosoft (R) HLSL Shader Compiler 10.1ллISGNАhtttSV_PositionTEXCOORDлллOSGN, SV_TARGETллSHDR┤A-jZ`XpUUbЄb2eЄ h42FF32FцE Є FF~`>STATtжУ╚ю╩!Q╙╠}