2Tk9P˲23851a53779d P aPosition _uaPositionUaData_uaData uMode_uuMode\ uTransform _uuTransform^sColor0 _usColor0^ sRenderTasks_usRenderTasks^ sGpuCache _usGpuCache^sTransformPalette_usTransformPalette^sPrimitiveHeadersF_usPrimitiveHeadersFʍsPrimitiveHeadersI_usPrimitiveHeadersI^ sClipMask _usClipMaskR oFragColor _uoFragColor ^^^^^ʍ^   K0 Wstruct VS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD11; float4 gl_FragCoord : TEXCOORD12; nointerpolation float4 v0 : TEXCOORD0; nointerpolation float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; float2 v6 : TEXCOORD6; float2 v7 : TEXCOORD7; nointerpolation float2 v8 : TEXCOORD8; nointerpolation float2 v9 : TEXCOORD9; nointerpolation float2 v10 : TEXCOORD10; }; #pragma warning( disable: 3556 3571 ) struct _RectWithEndpoint { float2 _p0; float2 _p1; }; #pragma pack_matrix(row_major) struct rm__RectWithEndpoint { float2 _p0; float2 _p1; }; #pragma pack_matrix(column_major) struct std__RectWithEndpoint { float2 _p0; float2 _p1; }; #pragma pack_matrix(row_major) struct std_rm__RectWithEndpoint { float2 _p0; float2 _p1; }; #pragma pack_matrix(column_major) struct std_fp__RectWithEndpoint { float2 _p0; float2 _p1; }; #pragma pack_matrix(row_major) struct std_rm_fp__RectWithEndpoint { float2 _p0; float2 _p1; }; #pragma pack_matrix(column_major) _RectWithEndpoint _RectWithEndpoint_ctor(float2 x0, float2 x1) { _RectWithEndpoint structure = { x0, x1}; return structure; } bool bool_ctor(int x0) { return bool(x0); } bool4 bvec4_ctor(bool4 x0) { return bool4(x0); } 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 int _uMode : register(c0); uniform float4x4 _uTransform : register(c1); static const uint _sColor0 = 0; static const uint _sRenderTasks = 1; static const uint _sGpuCache = 2; static const uint _sTransformPalette = 3; static const uint _sPrimitiveHeadersF = 4; uniform Texture2D textures2D[5] : register(t0); uniform SamplerState samplers2D[5] : register(s0); static const uint _sPrimitiveHeadersI = 5; static const uint textureIndexOffset2D_int4_ = 5; static const uint samplerIndexOffset2D_int4_ = 5; uniform Texture2D textures2D_int4_[1] : register(t5); uniform SamplerState samplers2D_int4_[1] : register(s5); #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 int4 _aData = {0, 0, 0, 0}; static float4 gl_Position = float4(0, 0, 0, 0); // Varyings static nointerpolation float4 _vTransformBounds = {0, 0, 0, 0}; static nointerpolation float4 _vClipMaskUvBounds = {0, 0, 0, 0}; static float2 _vClipMaskUv = {0, 0}; static float2 _v_local_pos = {0, 0}; static float2 _v_uv = {0, 0}; static nointerpolation float4 _v_color = {0, 0, 0, 0}; static nointerpolation float2 _v_mask_swizzle = {0, 0}; static nointerpolation float2 _v_tile_repeat = {0, 0}; static nointerpolation float4 _v_uv_bounds = {0, 0, 0, 0}; static nointerpolation float4 _v_uv_sample_bounds = {0, 0, 0, 0}; static nointerpolation float2 _v_perspective = {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[6] : 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)); } int4 gl_texture2D_int4_Fetch(uint samplerIndex, int2 t, int mip) { const uint textureIndex = samplerIndex - textureIndexOffset2D_int4_; const uint samplerArrayIndex = samplerIndex - samplerIndexOffset2D_int4_; int baseLevel = 0; return textures2D_int4_[textureIndex].Load(int3(t.x, t.y, mip)); } float4 mix_emu(float4 x, float4 y, bool4 a) { return a ? y : x; } float roundEven_emu(in float x) { return (frac(x) == 0.5 && trunc(x) % 2.0 == 0.0) ? trunc(x) : round(x); } ; @@ 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.gl_FragCoord = gl_Position; output.v0 = _vTransformBounds; output.v1 = _vClipMaskUvBounds; output.v2 = _v_color; output.v3 = _v_uv_bounds; output.v4 = _v_uv_sample_bounds; output.v5 = _vClipMaskUv; output.v6 = _v_local_pos; output.v7 = _v_uv; output.v8 = _v_mask_swizzle; output.v9 = _v_tile_repeat; output.v10 = _v_perspective; return output; } VS_OUTPUT main(VS_INPUT input){ initAttributes(input); int _instance_picture_task_address_14910 = {0}; int _instance_clip_address_24911 = {0}; int _instance_segment_index_34912 = {0}; int _instance_flags_44913 = {0}; int _instance_resource_address_54914 = {0}; (_instance_picture_task_address_14910 = (_aData.y >> 16)); (_instance_clip_address_24911 = (_aData.y & 65535)); (_instance_segment_index_34912 = (_aData.z & 65535)); (_instance_flags_44913 = (_aData.z >> 16)); (_instance_resource_address_54914 = (_aData.w & 16777215)); float _ph_z_64915 = {0}; int2 _tmpvar_74916 = {0, 0}; (_tmpvar_74916.x = int_ctor((2 * (uint_ctor(_aData.x) % 512)))); (_tmpvar_74916.y = int_ctor((uint_ctor(_aData.x) / 512))); float4 _tmpvar_84917 = {0, 0, 0, 0}; (_tmpvar_84917 = gl_texture2DFetch(_sPrimitiveHeadersF, _tmpvar_74916, 0)); float4 _tmpvar_94918 = {0, 0, 0, 0}; (_tmpvar_94918 = gl_texture2DFetch(_sPrimitiveHeadersF, (_tmpvar_74916 + int2(1, 0)), 0)); float2 _tmpvar_104919 = {0, 0}; float2 _tmpvar_114920 = {0, 0}; (_tmpvar_104919 = _tmpvar_84917.xy); (_tmpvar_114920 = _tmpvar_84917.zw); float2 _tmpvar_124921 = {0, 0}; float2 _tmpvar_134922 = {0, 0}; (_tmpvar_124921 = _tmpvar_94918.xy); (_tmpvar_134922 = _tmpvar_94918.zw); int2 _tmpvar_144923 = {0, 0}; (_tmpvar_144923.x = int_ctor((2 * (uint_ctor(_aData.x) % 512)))); (_tmpvar_144923.y = int_ctor((uint_ctor(_aData.x) / 512))); int4 _tmpvar_154924 = {0, 0, 0, 0}; (_tmpvar_154924 = gl_texture2D_int4_Fetch(_sPrimitiveHeadersI, _tmpvar_144923, 0)); int4 _tmpvar_164925 = {0, 0, 0, 0}; (_tmpvar_164925 = gl_texture2D_int4_Fetch(_sPrimitiveHeadersI, (_tmpvar_144923 + int2(1, 0)), 0)); (_ph_z_64915 = float_ctor(_tmpvar_154924.x)); float4x4 _transform_m_174926 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; bool _transform_is_axis_aligned_184927 = {0}; (_transform_is_axis_aligned_184927 = ((_tmpvar_154924.z >> 24) == 0)); int _tmpvar_194928 = {0}; (_tmpvar_194928 = (_tmpvar_154924.z & 16777215)); int2 _tmpvar_204929 = {0, 0}; (_tmpvar_204929.x = int_ctor((8 * (uint_ctor(_tmpvar_194928) % 128)))); (_tmpvar_204929.y = int_ctor((uint_ctor(_tmpvar_194928) / 128))); (_transform_m_174926[0] = gl_texture2DFetch(_sTransformPalette, _tmpvar_204929, 0)); (_transform_m_174926[1] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_204929 + int2(1, 0)), 0)); (_transform_m_174926[2] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_204929 + int2(2, 0)), 0)); (_transform_m_174926[3] = gl_texture2DFetch(_sTransformPalette, (_tmpvar_204929 + int2(3, 0)), 0)); int2 _tmpvar_214930 = {0, 0}; (_tmpvar_214930.x = int_ctor((2 * (uint_ctor(_instance_picture_task_address_14910) % 512)))); (_tmpvar_214930.y = int_ctor((uint_ctor(_instance_picture_task_address_14910) / 512))); float4 _tmpvar_224931 = {0, 0, 0, 0}; (_tmpvar_224931 = gl_texture2DFetch(_sRenderTasks, _tmpvar_214930, 0)); float4 _tmpvar_234932 = {0, 0, 0, 0}; (_tmpvar_234932 = gl_texture2DFetch(_sRenderTasks, (_tmpvar_214930 + int2(1, 0)), 0)); _RectWithEndpoint _area_task_rect_244933 = {0, 0, 0, 0}; float _area_device_pixel_scale_254934 = {0}; float2 _area_screen_origin_264935 = {0, 0}; if ((_instance_clip_address_24911 >= 32767)) { (_area_task_rect_244933 = _RectWithEndpoint_ctor(float2(0.0, 0.0), float2(0.0, 0.0))); (_area_device_pixel_scale_254934 = 0.0); (_area_screen_origin_264935 = float2(0.0, 0.0)); } else { int2 _tmpvar_274936 = {0, 0}; (_tmpvar_274936.x = int_ctor((2 * (uint_ctor(_instance_clip_address_24911) % 512)))); (_tmpvar_274936.y = int_ctor((uint_ctor(_instance_clip_address_24911) / 512))); float4 _tmpvar_284937 = {0, 0, 0, 0}; (_tmpvar_284937 = gl_texture2DFetch(_sRenderTasks, _tmpvar_274936, 0)); float4 _tmpvar_294938 = {0, 0, 0, 0}; (_tmpvar_294938 = gl_texture2DFetch(_sRenderTasks, (_tmpvar_274936 + int2(1, 0)), 0)); (_area_task_rect_244933._p0 = _tmpvar_284937.xy); (_area_task_rect_244933._p1 = _tmpvar_284937.zw); (_area_device_pixel_scale_254934 = _tmpvar_294938.x); (_area_screen_origin_264935 = _tmpvar_294938.yz); } float2 _tmpvar_304939 = {0, 0}; float2 _tmpvar_314940 = {0, 0}; (_tmpvar_304939 = _tmpvar_124921); (_tmpvar_314940 = _tmpvar_134922); float2 _adjusted_segment_rect_p0_324941 = {0, 0}; float2 _adjusted_segment_rect_p1_334942 = {0, 0}; float2 _segment_rect_p0_344943 = {0, 0}; float2 _segment_rect_p1_354944 = {0, 0}; float4 _segment_data_364945 = {0, 0, 0, 0}; int _tmpvar_374946 = {0}; (_tmpvar_374946 = ((_instance_flags_44913 >> 12) & 15)); int _tmpvar_384947 = {0}; (_tmpvar_384947 = (_instance_flags_44913 & 4095)); if ((_instance_segment_index_34912 == 65535)) { (_segment_rect_p0_344943 = _tmpvar_104919); (_segment_rect_p1_354944 = _tmpvar_114920); (_segment_data_364945 = float4(0.0, 0.0, 0.0, 0.0)); } else { int _tmpvar_394948 = {0}; (_tmpvar_394948 = ((_tmpvar_154924.y + 3) + (_instance_segment_index_34912 * 2))); int2 _tmpvar_404949 = {0, 0}; (_tmpvar_404949.x = int_ctor((uint_ctor(_tmpvar_394948) % 1024))); (_tmpvar_404949.y = int_ctor((uint_ctor(_tmpvar_394948) / 1024))); float4 _tmpvar_414950 = {0, 0, 0, 0}; (_tmpvar_414950 = gl_texture2DFetch(_sGpuCache, _tmpvar_404949, 0)); (_segment_rect_p0_344943 = (_tmpvar_414950.xy + _tmpvar_84917.xy)); (_segment_rect_p1_354944 = (_tmpvar_414950.zw + _tmpvar_84917.xy)); (_segment_data_364945 = gl_texture2DFetch(_sGpuCache, (_tmpvar_404949 + int2(1, 0)), 0)); } (_adjusted_segment_rect_p0_324941 = _segment_rect_p0_344943); (_adjusted_segment_rect_p1_334942 = _segment_rect_p1_354944); if (_transform_is_axis_aligned_184927) { (_vTransformBounds = float4(-10000000272564224.0, -10000000272564224.0, 10000000272564224.0, 10000000272564224.0)); } else { bool4 _tmpvar_424951 = {0, 0, 0, 0}; (_tmpvar_424951.x = bool_ctor((_tmpvar_374946 & 1))); (_tmpvar_424951.y = bool_ctor((_tmpvar_374946 & 2))); (_tmpvar_424951.z = bool_ctor((_tmpvar_374946 & 4))); (_tmpvar_424951.w = bool_ctor((_tmpvar_374946 & 8))); float4 _tmpvar_434952 = {0, 0, 0, 0}; (_tmpvar_434952.xy = min(max(_tmpvar_84917.xy, _tmpvar_94918.xy), _tmpvar_94918.zw)); (_tmpvar_434952.zw = min(max(_tmpvar_84917.zw, _tmpvar_94918.xy), _tmpvar_94918.zw)); float4 _tmpvar_444953 = {0, 0, 0, 0}; (_tmpvar_444953.xy = min(max(_segment_rect_p0_344943, _tmpvar_94918.xy), _tmpvar_94918.zw)); (_tmpvar_444953.zw = min(max(_segment_rect_p1_354944, _tmpvar_94918.xy), _tmpvar_94918.zw)); (_vTransformBounds = mix_emu(_tmpvar_434952, _tmpvar_444953, bvec4_ctor(_tmpvar_424951))); float4 _tmpvar_454954 = {0, 0, 0, 0}; (_tmpvar_454954 = mix_emu(float4(0.0, 0.0, 0.0, 0.0), float4(2.0, 2.0, 2.0, 2.0), bvec4_ctor(_tmpvar_424951))); (_adjusted_segment_rect_p0_324941 = (_segment_rect_p0_344943 - _tmpvar_454954.xy)); (_adjusted_segment_rect_p1_334942 = (_segment_rect_p1_354944 + _tmpvar_454954.zw)); (_tmpvar_304939 = float2(-10000000272564224.0, -10000000272564224.0)); (_tmpvar_314940 = float2(10000000272564224.0, 10000000272564224.0)); } float2 _tmpvar_464955 = {0, 0}; (_tmpvar_464955 = min(max(lerp(_adjusted_segment_rect_p0_324941, _adjusted_segment_rect_p1_334942, _aPosition), _tmpvar_304939), _tmpvar_314940)); float4 _tmpvar_474956 = {0, 0, 0, 0}; (_tmpvar_474956.zw = float2(0.0, 1.0)); (_tmpvar_474956.xy = _tmpvar_464955); float4 _tmpvar_484957 = {0, 0, 0, 0}; (_tmpvar_484957 = mul(transpose(_transform_m_174926), _tmpvar_474956)); float4 _tmpvar_494958 = {0, 0, 0, 0}; (_tmpvar_494958.xy = ((_tmpvar_484957.xy * _tmpvar_234932.x) + (((-_tmpvar_234932.yz) + _tmpvar_224931.xy) * _tmpvar_484957.w))); (_tmpvar_494958.z = (_ph_z_64915 * _tmpvar_484957.w)); (_tmpvar_494958.w = _tmpvar_484957.w); (gl_Position = mul(transpose(_uTransform), _tmpvar_494958)); float4 _tmpvar_504959 = {0, 0, 0, 0}; (_tmpvar_504959.xy = _area_task_rect_244933._p0); (_tmpvar_504959.zw = _area_task_rect_244933._p1); (_vClipMaskUvBounds = _tmpvar_504959); (_vClipMaskUv = ((_tmpvar_484957.xy * _area_device_pixel_scale_254934) + (_tmpvar_484957.w * (_area_task_rect_244933._p0 - _area_screen_origin_264935)))); int _color_mode_514960 = {0}; float2 _f_524961 = {0, 0}; float2 _stretch_size_534962 = {0, 0}; float2 _local_rect_p0_544963 = {0, 0}; float2 _local_rect_p1_554964 = {0, 0}; float2 _uv1_564965 = {0, 0}; float2 _uv0_574966 = {0, 0}; float4 _image_data_color_584967 = {0, 0, 0, 0}; int2 _tmpvar_594968 = {0, 0}; (_tmpvar_594968.x = int_ctor((uint_ctor(_tmpvar_154924.y) % 1024))); (_tmpvar_594968.y = int_ctor((uint_ctor(_tmpvar_154924.y) / 1024))); float4 _tmpvar_604969 = {0, 0, 0, 0}; float4 _tmpvar_614970 = {0, 0, 0, 0}; float4 _tmpvar_624971 = {0, 0, 0, 0}; (_tmpvar_604969 = gl_texture2DFetch(_sGpuCache, _tmpvar_594968, 0)); (_tmpvar_614970 = gl_texture2DFetch(_sGpuCache, (_tmpvar_594968 + int2(1, 0)), 0)); (_tmpvar_624971 = gl_texture2DFetch(_sGpuCache, (_tmpvar_594968 + int2(2, 0)), 0)); (_image_data_color_584967 = _tmpvar_604969); float2 _tmpvar_634972 = {0, 0}; (_tmpvar_634972 = vec2_ctor(gl_texture2DSize(_sColor0, 0))); int2 _tmpvar_644973 = {0, 0}; (_tmpvar_644973.x = int_ctor((uint_ctor(_instance_resource_address_54914) % 1024))); (_tmpvar_644973.y = int_ctor((uint_ctor(_instance_resource_address_54914) / 1024))); float4 _tmpvar_654974 = {0, 0, 0, 0}; (_tmpvar_654974 = gl_texture2DFetch(_sGpuCache, _tmpvar_644973, 0)); (_uv0_574966 = _tmpvar_654974.xy); (_uv1_564965 = _tmpvar_654974.zw); (_local_rect_p0_544963 = _tmpvar_104919); (_local_rect_p1_554964 = _tmpvar_114920); (_stretch_size_534962 = _tmpvar_624971.xy); if ((_tmpvar_624971.x < 0.0)) { (_stretch_size_534962 = (_tmpvar_84917.zw - _tmpvar_84917.xy)); } if (((_tmpvar_384947 & 2) != 0)) { (_local_rect_p0_544963 = _segment_rect_p0_344943); (_local_rect_p1_554964 = _segment_rect_p1_354944); float2 _tmpvar_664975 = {0, 0}; (_tmpvar_664975 = (_segment_rect_p1_354944 - _segment_rect_p0_344943)); (_stretch_size_534962 = _tmpvar_664975); if (((_tmpvar_384947 & 128) != 0)) { float2 _tmpvar_674976 = {0, 0}; (_tmpvar_674976 = (_tmpvar_654974.zw - _tmpvar_654974.xy)); (_uv0_574966 = (_tmpvar_654974.xy + (_segment_data_364945.xy * _tmpvar_674976))); (_uv1_564965 = (_tmpvar_654974.xy + (_segment_data_364945.zw * _tmpvar_674976))); } if (((_tmpvar_384947 & 128) != 0)) { float2 _vertical_uv_size_684977 = {0, 0}; float2 _horizontal_uv_size_694978 = {0, 0}; float2 _repeated_stretch_size_704979 = {0, 0}; (_repeated_stretch_size_704979 = _tmpvar_664975); float2 _tmpvar_714980 = {0, 0}; (_tmpvar_714980 = (_uv1_564965 - _uv0_574966)); (_horizontal_uv_size_694978 = _tmpvar_714980); float2 _tmpvar_724981 = {0, 0}; (_tmpvar_724981 = (_uv1_564965 - _uv0_574966)); (_vertical_uv_size_684977 = _tmpvar_724981); if (((_tmpvar_384947 & 64) != 0)) { (_repeated_stretch_size_704979 = (_segment_rect_p0_344943 - _tmpvar_84917.xy)); (_vertical_uv_size_684977.x = (_uv0_574966.x - _tmpvar_654974.x)); if (((_vertical_uv_size_684977.x < 0.001) || (_repeated_stretch_size_704979.x < 0.001))) { (_vertical_uv_size_684977.x = (_tmpvar_654974.z - _uv1_564965.x)); (_repeated_stretch_size_704979.x = (_tmpvar_84917.z - _segment_rect_p1_354944.x)); } (_horizontal_uv_size_694978.y = (_uv0_574966.y - _tmpvar_654974.y)); if (((_horizontal_uv_size_694978.y < 0.001) || (_repeated_stretch_size_704979.y < 0.001))) { (_horizontal_uv_size_694978.y = (_tmpvar_654974.w - _uv1_564965.y)); (_repeated_stretch_size_704979.y = (_tmpvar_84917.w - _segment_rect_p1_354944.y)); } } if (((_tmpvar_384947 & 4) != 0)) { (_stretch_size_534962.x = (_repeated_stretch_size_704979.y * (_tmpvar_714980.x / _horizontal_uv_size_694978.y))); } if (((_tmpvar_384947 & 8) != 0)) { (_stretch_size_534962.y = (_repeated_stretch_size_704979.x * (_tmpvar_724981.y / _vertical_uv_size_684977.x))); } } else { if (((_tmpvar_384947 & 4) != 0)) { (_stretch_size_534962.x = (_segment_data_364945.z - _segment_data_364945.x)); } if (((_tmpvar_384947 & 8) != 0)) { (_stretch_size_534962.y = (_segment_data_364945.w - _segment_data_364945.y)); } } if (((_tmpvar_384947 & 16) != 0)) { float _tmpvar_734982 = {0}; (_tmpvar_734982 = (_segment_rect_p1_354944.x - _segment_rect_p0_344943.x)); (_stretch_size_534962.x = (_tmpvar_734982 / max(1.0, roundEven_emu((_tmpvar_734982 / _stretch_size_534962.x))))); } if (((_tmpvar_384947 & 32) != 0)) { float _tmpvar_744983 = {0}; (_tmpvar_744983 = (_segment_rect_p1_354944.y - _segment_rect_p0_344943.y)); (_stretch_size_534962.y = (_tmpvar_744983 / max(1.0, roundEven_emu((_tmpvar_744983 / _stretch_size_534962.y))))); } } float _tmpvar_754984 = {0}; if (((_tmpvar_384947 & 1) != 0)) { (_tmpvar_754984 = 1.0); } else { (_tmpvar_754984 = 0.0); } (_v_perspective.x = _tmpvar_754984); float2 _tmpvar_764985 = {0, 0}; (_tmpvar_764985 = min(_uv0_574966, _uv1_564965)); float2 _tmpvar_774986 = {0, 0}; (_tmpvar_774986 = max(_uv0_574966, _uv1_564965)); float4 _tmpvar_784987 = {0, 0, 0, 0}; (_tmpvar_784987.xy = (_tmpvar_764985 + float2(0.5, 0.5))); (_tmpvar_784987.zw = (_tmpvar_774986 - float2(0.5, 0.5))); (_v_uv_sample_bounds = (_tmpvar_784987 / _tmpvar_634972.xyxy)); float2 _tmpvar_794988 = {0, 0}; (_tmpvar_794988 = ((_tmpvar_464955 - _local_rect_p0_544963) / (_local_rect_p1_554964 - _local_rect_p0_544963))); (_f_524961 = _tmpvar_794988); int _tmpvar_804989 = {0}; (_tmpvar_804989 = (_tmpvar_164925.x & 65535)); (_color_mode_514960 = _tmpvar_804989); int _tmpvar_814990 = {0}; (_tmpvar_814990 = (_tmpvar_164925.x >> 16)); if ((_tmpvar_804989 == 0)) { (_color_mode_514960 = _uMode); } if ((_tmpvar_164925.y == 1)) { int _tmpvar_824991 = {0}; (_tmpvar_824991 = (_instance_resource_address_54914 + 2)); int2 _tmpvar_834992 = {0, 0}; (_tmpvar_834992.x = int_ctor((uint_ctor(_tmpvar_824991) % 1024))); (_tmpvar_834992.y = int_ctor((uint_ctor(_tmpvar_824991) / 1024))); float4 _tmpvar_844993 = {0, 0, 0, 0}; (_tmpvar_844993 = lerp(lerp(gl_texture2DFetch(_sGpuCache, _tmpvar_834992, 0), gl_texture2DFetch(_sGpuCache, (_tmpvar_834992 + int2(1, 0)), 0), _tmpvar_794988.x), lerp(gl_texture2DFetch(_sGpuCache, (_tmpvar_834992 + int2(2, 0)), 0), gl_texture2DFetch(_sGpuCache, (_tmpvar_834992 + int2(3, 0)), 0), _tmpvar_794988.x), _tmpvar_794988.y)); (_f_524961 = (_tmpvar_844993.xy / _tmpvar_844993.w)); } float2 _tmpvar_854994 = {0, 0}; (_tmpvar_854994 = ((_local_rect_p1_554964 - _local_rect_p0_544963) / _stretch_size_534962)); (_v_uv = (lerp(_uv0_574966, _uv1_564965, _f_524961) - _tmpvar_764985)); (_v_uv = (_v_uv / _tmpvar_634972)); (_v_uv = (_v_uv * _tmpvar_854994)); if ((_tmpvar_754984 == 0.0)) { (_v_uv = (_v_uv * _tmpvar_484957.w)); } float4 _tmpvar_864995 = {0, 0, 0, 0}; (_tmpvar_864995.xy = _tmpvar_764985); (_tmpvar_864995.zw = _tmpvar_774986); (_v_uv_bounds = (_tmpvar_864995 / _tmpvar_634972.xyxy)); (_v_uv = (_v_uv / (_v_uv_bounds.zw - _v_uv_bounds.xy))); (_v_tile_repeat = _tmpvar_854994); float _tmpvar_874996 = {0}; (_tmpvar_874996 = (float_ctor(_tmpvar_164925.z) / 65535.0)); bool _tmpvar_884997 = {0}; bool _tmpvar_894998 = {0}; (_tmpvar_894998 = false); (_tmpvar_884997 = (0 == _tmpvar_814990)); if (_tmpvar_884997) { (_image_data_color_584967.w = (_tmpvar_604969.w * _tmpvar_874996)); (_tmpvar_894998 = true); } (_tmpvar_884997 = (!_tmpvar_894998)); if (_tmpvar_884997) { (_image_data_color_584967 = (_image_data_color_584967 * _tmpvar_874996)); (_tmpvar_894998 = true); } bool _tmpvar_904999 = {0}; bool _tmpvar_915000 = {0}; (_tmpvar_915000 = false); (_tmpvar_904999 = (1 == _color_mode_514960)); (_tmpvar_904999 = (_tmpvar_904999 || (7 == _color_mode_514960))); if (_tmpvar_904999) { (_v_mask_swizzle = float2(0.0, 1.0)); (_v_color = _image_data_color_584967); (_tmpvar_915000 = true); } (_tmpvar_904999 = (_tmpvar_904999 || (5 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 || (9 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 && (!_tmpvar_915000))); if (_tmpvar_904999) { (_v_mask_swizzle = float2(1.0, 0.0)); (_v_color = _image_data_color_584967); (_tmpvar_915000 = true); } (_tmpvar_904999 = (_tmpvar_904999 || (2 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 || (3 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 || (8 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 && (!_tmpvar_915000))); if (_tmpvar_904999) { (_v_mask_swizzle = float2(1.0, 0.0)); (_v_color = _image_data_color_584967.wwww); (_tmpvar_915000 = true); } (_tmpvar_904999 = (_tmpvar_904999 || (4 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 && (!_tmpvar_915000))); if (_tmpvar_904999) { (_v_mask_swizzle = float2(-1.0, 1.0)); (_v_color = (_image_data_color_584967.wwww * _tmpvar_614970)); (_tmpvar_915000 = true); } (_tmpvar_904999 = (_tmpvar_904999 || (6 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 && (!_tmpvar_915000))); if (_tmpvar_904999) { float2 _tmpvar_925001 = {0, 0}; (_tmpvar_925001.y = 0.0); (_tmpvar_925001.x = _image_data_color_584967.w); (_v_mask_swizzle = _tmpvar_925001); (_v_color = _image_data_color_584967); (_tmpvar_915000 = true); } (_tmpvar_904999 = (_tmpvar_904999 || (10 == _color_mode_514960))); (_tmpvar_904999 = (_tmpvar_904999 && (!_tmpvar_915000))); if (_tmpvar_904999) { float2 _tmpvar_935002 = {0, 0}; (_tmpvar_935002.x = (-_image_data_color_584967.w)); (_tmpvar_935002.y = _image_data_color_584967.w); (_v_mask_swizzle = _tmpvar_935002); (_v_color = _image_data_color_584967); (_tmpvar_915000 = true); } (_tmpvar_904999 = (!_tmpvar_915000)); if (_tmpvar_904999) { (_v_mask_swizzle = float2(0.0, 0.0)); (_v_color = float4(1.0, 1.0, 1.0, 1.0)); } (_v_local_pos = _tmpvar_464955); return generateOutput(input); } xstruct PS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD11; float4 gl_FragCoord : TEXCOORD12; nointerpolation float4 v0 : TEXCOORD0; nointerpolation float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; float2 v6 : TEXCOORD6; float2 v7 : TEXCOORD7; nointerpolation float2 v8 : TEXCOORD8; nointerpolation float2 v9 : TEXCOORD9; nointerpolation float2 v10 : TEXCOORD10; }; #pragma warning( disable: 3556 3571 ) int2 ivec2_ctor(float2 x0) { return int2(x0); } // Uniforms static const uint _sColor0 = 0; static const uint _sClipMask = 1; uniform Texture2D textures2D[2] : register(t0); uniform SamplerState samplers2D[2] : 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 nointerpolation float4 _vClipMaskUvBounds = {0, 0, 0, 0}; static float2 _vClipMaskUv = {0, 0}; static float2 _v_local_pos = {0, 0}; static float2 _v_uv = {0, 0}; static nointerpolation float4 _v_color = {0, 0, 0, 0}; static nointerpolation float2 _v_mask_swizzle = {0, 0}; static nointerpolation float2 _v_tile_repeat = {0, 0}; static nointerpolation float4 _v_uv_bounds = {0, 0, 0, 0}; static nointerpolation float4 _v_uv_sample_bounds = {0, 0, 0, 0}; static nointerpolation float2 _v_perspective = {0, 0}; static float4 out_oFragColor = {0, 0, 0, 0}; static float4 gl_FragCoord = float4(0, 0, 0, 0); cbuffer DriverConstants : register(b1) { float4 dx_ViewCoords : packoffset(c1); float3 dx_DepthFront : packoffset(c2); float2 dx_ViewScale : packoffset(c3); struct SamplerMetadata { int baseLevel; int internalFormatBits; int wrapModes; int padding; int4 intBorderColor; }; SamplerMetadata samplerMetadata[2] : packoffset(c4); }; float4 gl_texture2D(uint samplerIndex, float2 t) { return textures2D[samplerIndex].Sample(samplers2D[samplerIndex], float2(t.x, t.y)); } float4 gl_texture2DFetch(uint samplerIndex, int2 t, int mip) { return textures2D[samplerIndex].Load(int3(t.x, t.y, mip)); } #define GL_USES_FRAG_COORD @@ PIXEL OUTPUT @@ PS_OUTPUT main(PS_INPUT input){ float rhw = 1.0 / input.gl_FragCoord.w; gl_FragCoord.x = input.dx_Position.x; gl_FragCoord.y = input.dx_Position.y; gl_FragCoord.z = (input.gl_FragCoord.z * rhw) * dx_DepthFront.x + dx_DepthFront.y; gl_FragCoord.w = rhw; _vTransformBounds = input.v0; _vClipMaskUvBounds = input.v1; _v_color = input.v2; _v_uv_bounds = input.v3; _v_uv_sample_bounds = input.v4; _vClipMaskUv = input.v5.xy; _v_local_pos = input.v6.xy; _v_uv = input.v7.xy; _v_mask_swizzle = input.v8.xy; _v_tile_repeat = input.v9.xy; _v_perspective = input.v10.xy; float4 _frag_color_14901 = {0, 0, 0, 0}; float4 _texel_24902 = {0, 0, 0, 0}; float2 _repeated_uv_34903 = {0, 0}; float2 _tmpvar_44904 = {0, 0}; (_tmpvar_44904 = max((_v_uv * lerp(gl_FragCoord.w, 1.0, _v_perspective.x)), float2(0.0, 0.0))); (_repeated_uv_34903 = ((frac(_tmpvar_44904) * (_v_uv_bounds.zw - _v_uv_bounds.xy)) + _v_uv_bounds.xy)); if ((_tmpvar_44904.x >= _v_tile_repeat.x)) { (_repeated_uv_34903.x = _v_uv_bounds.z); } if ((_tmpvar_44904.y >= _v_tile_repeat.y)) { (_repeated_uv_34903.y = _v_uv_bounds.w); } float4 _tmpvar_54905 = {0, 0, 0, 0}; (_tmpvar_54905 = gl_texture2D(_sColor0, min(max(_repeated_uv_34903, _v_uv_sample_bounds.xy), _v_uv_sample_bounds.zw))); (_texel_24902.w = _tmpvar_54905.w); float2 _tmpvar_64906 = {0, 0}; (_tmpvar_64906 = max((_vTransformBounds.xy - _v_local_pos), (_v_local_pos - _vTransformBounds.zw))); float2 _tmpvar_74907 = {0, 0}; (_tmpvar_74907 = (abs(ddx(_v_local_pos)) + abs(ddy(_v_local_pos)))); (_texel_24902.xyz = ((_tmpvar_54905.xyz * _v_mask_swizzle.x) + (_tmpvar_54905.www * _v_mask_swizzle.y))); (_frag_color_14901 = (_v_color * (_texel_24902 * min(max((0.5 - (max(_tmpvar_64906.x, _tmpvar_64906.y) * rsqrt((0.5 * dot(_tmpvar_74907, _tmpvar_74907))))), 0.0), 1.0)))); float _tmpvar_84908 = {0}; if (all(_vClipMaskUvBounds.xy == _vClipMaskUvBounds.zw)) { (_tmpvar_84908 = 1.0); } else { float2 _tmpvar_94909 = {0, 0}; (_tmpvar_94909 = (_vClipMaskUv * gl_FragCoord.w)); bool4 _tmpvar_104910 = {0, 0, 0, 0}; (_tmpvar_104910.xy = (_tmpvar_94909 >= _vClipMaskUvBounds.xy)); (_tmpvar_104910.zw = (_tmpvar_94909 < _vClipMaskUvBounds.zw)); bool _tmpvar_114911 = {0}; (_tmpvar_114911 = all(_tmpvar_104910 == bool4(true, true, true, true))); if ((!_tmpvar_114911)) { (_tmpvar_84908 = 0.0); } else { (_tmpvar_84908 = gl_texture2DFetch(_sClipMask, ivec2_ctor(_tmpvar_94909), 0).x); } } (_frag_color_14901 = (_frag_color_14901 * _tmpvar_84908)); (out_oFragColor = _frag_color_14901); return generateOutput(); } Rout_oFragColorout_oFragColorstruct GS_INPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD11; float4 gl_FragCoord : TEXCOORD12; nointerpolation float4 v0 : TEXCOORD0; nointerpolation float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; float2 v6 : TEXCOORD6; float2 v7 : TEXCOORD7; nointerpolation float2 v8 : TEXCOORD8; nointerpolation float2 v9 : TEXCOORD9; nointerpolation float2 v10 : TEXCOORD10; }; struct GS_OUTPUT { float4 dx_Position : SV_Position; float4 gl_Position : TEXCOORD11; float4 gl_FragCoord : TEXCOORD12; nointerpolation float4 v0 : TEXCOORD0; nointerpolation float4 v1 : TEXCOORD1; nointerpolation float4 v2 : TEXCOORD2; nointerpolation float4 v3 : TEXCOORD3; nointerpolation float4 v4 : TEXCOORD4; float2 v5 : TEXCOORD5; float2 v6 : TEXCOORD6; float2 v7 : TEXCOORD7; nointerpolation float2 v8 : TEXCOORD8; nointerpolation float2 v9 : TEXCOORD9; nointerpolation float2 v10 : TEXCOORD10; }; void copyVertex(inout GS_OUTPUT output, GS_INPUT input, GS_INPUT flatinput) { output.gl_Position = input.gl_Position; output.v0 = flatinput.v0; output.v1 = flatinput.v1; output.v2 = flatinput.v2; output.v3 = flatinput.v3; output.v4 = flatinput.v4; output.v5 = input.v5; output.v6 = input.v6; output.v7 = input.v7; output.v8 = flatinput.v8; output.v9 = flatinput.v9; output.v10 = flatinput.v10; output.gl_FragCoord = input.gl_FragCoord; #ifndef ANGLE_POINT_SPRITE_SHADER output.dx_Position = input.dx_Position; #endif // ANGLE_POINT_SPRITE_SHADER } &DXBC|(𨔶ZPj&4H<&RDEFH |  textures2Dtextures2D_int4_$GlobalsP@_uMode_uTransformMicrosoft (R) HLSL Shader Compiler 10.1ISGND88TEXCOORDOSGNpXd d dddddd d d  d  d  d   SV_PositionTEXCOORDSHDR"AjYF XpUUXpUUXpUUXpUUXpUUXp33_2_g e e e e e e e e2 e e2  e2  e  e2  h*2@ @)B @*@U" @ 6@-FF~ 2F@6@-FF~-rFF~-rFF~+B **@)*@ @U*@UB@ " @6@-F} 2F@6@-rFF{ 2F@6@-rFF{) @ :@U" @ 6 @- F t 2 F @6 @-r F F~! @ 6 @6r @)@ @U" @ 6 @- F F~ 2 F @6 @-r F |*@ @ 6 F62 @62@@)"@  @U" @ 6@-FF~ FF 2F@6@-Fy62 62v @' 2 @4FF3F4 32  4 37 FFF 2F@@@7@@2F  7 F@ZZ7 @ZZF7 FF A2  4 3 8rF2   2  A 82F2 2 F8B*:6:F F"F FBF FF F2F FA 82F2 2   F@6@-F~ 2@6@-FF~=2@F~S  F@+ F U" *@ 6 :6 @- F t 2V@ A   rV@ A  2 2F   2   7 F  2FA  rV@@A 2 A F1 F@o:o:o:o:<2F AA 7  FF7 FFV8  7 V   bV@A 7 V V "* BB*@?C  ::A7@@?@8 ::8::@B*:@"7 "* 4"@?"*7  "::BB*@?C  ::A7@@?@8 ::8::@B*:@"7 "* 4"@?":7 "*:6F 6  2@6@-bF&}1@2FA 7 2F7   @?@32F  4   F@?? F F bAAbVB @* @7 B** "@B*@ *@U" *@ 6 @-F &} 2 F @6 @-F F~ AF 2 V V 2 F @6 @-F F~ 2 F @6 @-r F F{r FAF 2 VF F  AF 2   VbVR2 A F 2 bV  bAVbV 8bV827 bVVFF A2  +"*8"@78B:7  :*8VF7 FF  @ <B  2 @?<"**<":;B*"*<B*F   @<"  <" <"* ;B*B*7  F<"*7 V@?F<": *;B:"*8F7 VFF7 V@?F   @ <";B:"*6:6b@7 rVFF<B:;"*B*<"*7 VFF8 2@?6B@7 r FF7  F@????2  F 6" A":*8B @?6  6 F6 F6 F 6 F6  6  6"  @>STATt&d5) DXBC_rȣK4P`RDEFr\g samplers2Dtextures2DMicrosoft (R) HLSL Shader Compiler 10.1ISGNpXd d ddddddd d d d  d  SV_PositionTEXCOORDOSGN, SV_TARGETSHDRAujZ`XpUUXpUUbbbbbbb2bb2 b2 b b e h @????:" A@?2 "   8bV 4 bV@2A2 2F FbV 7 bV4bV3bVE F~`bA2A4bV 2  2 F8F rF4"*BFF8B*@?DB*2 "A*@?8VF8FFb"*6"@?8R2F1 F@2 F :6"@26@-"F~8 VF>STATt1 fb"&