2нT▒Wи`Ц1бЬs23851a53779dPЛЄН aPosition _uaPosition                RЛЄН a_src_rect _ua_src_rect                RЛЄН a_dst_rect _ua_dst_rect                PЛЄНa_dst_texture_size_ua_dst_texture_size                ^ЛsColor0 _usColor0                                        ММRЛЄН oFragColor _uoFragColor                    ^Л    ШФK0щб                                                                    юstruct VS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD1; float2 v0 : TEXCOORD0; }; #pragma warning( disable: 3556 3571 ) #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 _a_src_rect = {0, 0, 0, 0}; static float4 _a_dst_rect = {0, 0, 0, 0}; static float2 _a_dst_texture_size = {0, 0}; static float4 gl_Position = float4(0, 0, 0, 0); // Varyings static float2 _v_uv = {0, 0}; cbuffer DriverConstants : register(b1) { float4 dx_ViewAdjust : packoffset(c1); float2 dx_ViewCoords : packoffset(c2); float2 dx_ViewScale : packoffset(c3); }; @@ 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 = _v_uv; return output; } VS_OUTPUT main(VS_INPUT input){ initAttributes(input); (_v_uv = lerp(_a_src_rect.xy, _a_src_rect.zw, _aPosition)); float4 _tmpvar_14892 = {0, 0, 0, 0}; (_tmpvar_14892.zw = float2(0.0, 1.0)); (_tmpvar_14892.xy = ((lerp(_a_dst_rect.xy, _a_dst_rect.zw, _aPosition) / (_a_dst_texture_size * 0.5)) - float2(1.0, 1.0))); (gl_Position = _tmpvar_14892); return generateOutput(input); } жstruct PS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD1; float2 v0 : TEXCOORD0; }; #pragma warning( disable: 3556 3571 ) int2 ivec2_ctor(float2 x0) { return int2(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 float2 _v_uv = {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_texture2DFetch(uint samplerIndex, int2 t, int mip) { return textures2D[samplerIndex].Load(int3(t.x, t.y, mip)); } @@ PIXEL OUTPUT @@ PS_OUTPUT main(PS_INPUT input){ _v_uv = input.v0.xy; (out_oFragColor = gl_texture2DFetch(_sColor0, ivec2_ctor(_v_uv), 0)); return generateOutput(); } RЛout_oFragColorout_oFragColorstruct GS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD1; float2 v0 : TEXCOORD0; }; struct GS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD1; float2 v0 : TEXCOORD0; }; void copyVertex(inout GS_OUTPUT output, GS_INPUT input, GS_INPUT flatinput) { output.gl_Position = input.gl_Position; output.v0 = input.v0; #ifndef ANGLE_POINT_SPRITE_SHADER output.dx_Position = input.dx_Position; #endif // ANGLE_POINT_SPRITE_SHADER } мЬЬм╘DXBC╚ЪНЙG▌, `ї┤кнs$╘4А№lXRDEFD■ ┴Microsoft (R) HLSL Shader Compiler 10.1ISGNthhhhTEXCOORDлллOSGNhP\\ SV_PositionTEXCOORDлллSHDRфAyj_2_Є_Є_2gЄ eЄ e2 h2FАAц2 2FFF8 ┬@??2Fц  2F@А┐А┐6" АA6  62 F6┬ @?А?6┬ @А?2FАAц2 2 FFF>STATt рМdDXBCАф╫vСУПщЛЇ┤Тa╢Ышd4мPшRDEFp  ┴G<     textures2DMicrosoft (R) HLSL Shader Compiler 10.1лISGNhP\\SV_PositionTEXCOORDлллOSGN, SV_TARGETллSHDRРA$jXpUUb2eЄ h2F6┬@-Є FF~>STATtжУт└ё;Ї;5ё