wangzhibo
2023-10-31 86070cd00485c47a2c5c3ffa4a9bae6648dd05c6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
2­T±…üU<Ä6U‘76784271c1c62P‹ò    aPosition _uaPositionÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR‹ò    aTaskRect _uaTaskRectÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿP‹ò aStartPoint _uaStartPointÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿP‹ò    aEndPoint _uaEndPointÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿP‹òaScale_uaScaleÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõ aExtendMode _uaExtendModeÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõaGradientStopsAddress_uaGradientStopsAddressÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\‹ò
uTransform _uuTransformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^‹
sGpuBuffer _usGpuBufferÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŒŒR‹ò
oFragColor _uoFragColorÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^‹ÿÿÿÿL-hÁ±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿî
struct VS_OUTPUT
{
    float4 dx_Position : SV_Position;
    float4 gl_Position : TEXCOORD5;
    nointerpolation int2 v0 : TEXCOORD0;
    nointerpolation float2 v1 : TEXCOORD1;
    float2 v2 : TEXCOORD2;
    nointerpolation float2 v3 : TEXCOORD3;
    nointerpolation float2 v4 : TEXCOORD4;
};
#pragma warning( disable: 3556 3571 )
float float_ctor(bool x0)
{
    return float(x0);
}
// Uniforms
 
uniform float4x4 _uTransform : register(c0);
#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 _aTaskRect = {0, 0, 0, 0};
static float2 _aStartPoint = {0, 0};
static float2 _aEndPoint = {0, 0};
static float2 _aScale = {0, 0};
static int _aExtendMode = {0};
static int _aGradientStopsAddress = {0};
 
static float4 gl_Position = float4(0, 0, 0, 0);
 
// Varyings
static nointerpolation int2 _v_gradient_address = {0, 0};
static nointerpolation float2 _v_gradient_repeat = {0, 0};
static  float2 _v_pos = {0, 0};
static nointerpolation float2 _v_scale_dir = {0, 0};
static nointerpolation float2 _v_start_offset = {0, 0};
 
cbuffer DriverConstants : register(b1)
{
    float4 dx_ViewAdjust : packoffset(c1);
    float2 dx_ViewCoords : packoffset(c2);
    float2 dx_ViewScale  : packoffset(c3);
    float clipControlOrigin : packoffset(c3.w);
    float clipControlZeroToOne : packoffset(c4);
};
 
@@ 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 = clipControlOrigin * gl_Position.y;
    if (clipControlZeroToOne)
    {
        output.dx_Position.z = gl_Position.z;
    } else {
        output.dx_Position.z = (gl_Position.z + gl_Position.w) * 0.5;
    }
    output.dx_Position.w = gl_Position.w;
    output.v0 = _v_gradient_address;
    output.v1 = _v_gradient_repeat;
    output.v2 = _v_pos;
    output.v3 = _v_scale_dir;
    output.v4 = _v_start_offset;
 
    return output;
}
 
VS_OUTPUT main(VS_INPUT input){
    initAttributes(input);
 
float4 _tmpvar_15619 = {0, 0, 0, 0};
(_tmpvar_15619.zw = float2(0.0, 1.0));
(_tmpvar_15619.xy = lerp(_aTaskRect.xy, _aTaskRect.zw, _aPosition));
(gl_Position = mul(transpose(_uTransform), _tmpvar_15619));
(_v_pos = (_aPosition * _aScale));
float2 _tmpvar_25620 = {0, 0};
(_tmpvar_25620 = (_aEndPoint - _aStartPoint));
(_v_scale_dir = (_tmpvar_25620 / dot(_tmpvar_25620, _tmpvar_25620)));
(_v_start_offset.x = dot(_aStartPoint, _v_scale_dir));
(_v_scale_dir = (_v_scale_dir * (_aTaskRect.zw - _aTaskRect.xy)));
(_v_gradient_repeat.x = float_ctor((_aExtendMode == 1)));
(_v_gradient_address.x = _aGradientStopsAddress);
return generateOutput(input);
}
Ü    struct PS_INPUT
{
    float4 dx_Position : SV_Position;
    float4 gl_Position : TEXCOORD5;
    nointerpolation int2 v0 : TEXCOORD0;
    nointerpolation float2 v1 : TEXCOORD1;
    float2 v2 : TEXCOORD2;
    nointerpolation float2 v3 : TEXCOORD3;
    nointerpolation float2 v4 : TEXCOORD4;
};
 
#pragma warning( disable: 3556 3571 )
int int_ctor(float x0)
{
    return int(x0);
}
int int_ctor_uint(uint x0)
{
    return int(x0);
}
uint uint_ctor_int(int x0)
{
    return uint(x0);
}
// Uniforms
 
static const uint _sGpuBuffer = 0;
uniform Texture2D<float4> 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 int2 _v_gradient_address = {0, 0};
static nointerpolation float2 _v_gradient_repeat = {0, 0};
static  float2 _v_pos = {0, 0};
static nointerpolation float2 _v_scale_dir = {0, 0};
static nointerpolation float2 _v_start_offset = {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(c5);
};
 
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_gradient_address = input.v0.xy;
    _v_gradient_repeat = input.v1.xy;
    _v_pos = input.v2.xy;
    _v_scale_dir = input.v3.xy;
    _v_start_offset = input.v4.xy;
 
float _tmpvar_15613 = {0};
(_tmpvar_15613 = (dot(_v_pos, _v_scale_dir) - _v_start_offset.x));
float _tmpvar_25614 = {0};
(_tmpvar_25614 = min(max((1.0 + ((_tmpvar_15613 - (floor(_tmpvar_15613) * _v_gradient_repeat.x)) * 128.0)), 0.0), 129.0));
float _tmpvar_35615 = {0};
(_tmpvar_35615 = floor(_tmpvar_25614));
int _tmpvar_45616 = {0};
(_tmpvar_45616 = (_v_gradient_address.x + (2 * int_ctor(_tmpvar_35615))));
int2 _tmpvar_55617 = {0, 0};
(_tmpvar_55617.x = int_ctor_uint((uint_ctor_int(_tmpvar_45616) % 1024)));
(_tmpvar_55617.y = int_ctor_uint((uint_ctor_int(_tmpvar_45616) / 1024)));
(out_oFragColor = (gl_texture2DFetch(_sGpuBuffer, _tmpvar_55617, 0) + (gl_texture2DFetch(_sGpuBuffer, (_tmpvar_55617 + int2(1, 0)), 0) * (_tmpvar_25614 - _tmpvar_35615))));
return generateOutput();
}
R‹out_oFragColorout_oFragColorÑstruct GS_INPUT
{
    float4 dx_Position : SV_Position;
    float4 gl_Position : TEXCOORD5;
    nointerpolation int2 v0 : TEXCOORD0;
    nointerpolation float2 v1 : TEXCOORD1;
    float2 v2 : TEXCOORD2;
    nointerpolation float2 v3 : TEXCOORD3;
    nointerpolation float2 v4 : TEXCOORD4;
};
 
struct GS_OUTPUT
{
    float4 dx_Position : SV_Position;
    float4 gl_Position : TEXCOORD5;
    nointerpolation int2 v0 : TEXCOORD0;
    nointerpolation float2 v1 : TEXCOORD1;
    float2 v2 : TEXCOORD2;
    nointerpolation float2 v3 : TEXCOORD3;
    nointerpolation float2 v4 : TEXCOORD4;
};
 
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 = input.v2; 
    output.v3 = flatinput.v3; 
    output.v4 = flatinput.v4; 
#ifndef ANGLE_POINT_SPRITE_SHADER
    output.dx_Position = input.dx_Position;
#endif  // ANGLE_POINT_SPRITE_SHADER
}
¶¦¶¶¶¿¿$    DXBCãPê(/2égǦŠTQ¢$    44øÈˆRDEFø˜<þÿÁÍRD11< ($ |…$GlobalsDriverConstants«««|È@…,Pð@ÿÿÿÿÿÿÿÿ_uTransformfloat4x4«««üô ÿÿÿÿÿÿÿÿ0 Hÿÿÿÿÿÿÿÿl0Hÿÿÿÿÿÿÿÿy<”ÿÿÿÿÿÿÿÿ¸@”ÿÿÿÿÿÿÿÿdx_ViewAdjustfloat4«««dx_ViewCoordsfloat2«««>dx_ViewScaleclipControlOriginfloat«««‹clipControlZeroToOneMicrosoft (R) HLSL Shader Compiler 10.1«««ISGN¼°°°°°°°TEXCOORD«««OSGNȰ¼¼ ¼ ¼ ¼ ¼ SV_PositionTEXCOORD«««SHEX¸PîjYFŽ YFŽ _2_ò_2_2_2__gò eò e2 e e2 e2 e h9 @
€ b€A¦2    2F–F6B@€?BFƒ F‚Fƒ F‚:*8‚:@?7    B 
*:Fƒ F"Fƒ F6’  8" :€ 6ò F 
@B 
@€?6 
6¢ @82 FF’€AÆÆ’ 82 –ÆB FÆ6‚ @>STAT”àŒHDXBC}6é5í–vŠ… ÷£|H4РÔ¬RDEF”<ÿÿÁjRD11< ($ \ÿÿÿÿ textures2D[0]Microsoft (R) HLSL Shader Compiler 10.1««ISGNȰ¼¼¼ ¼¼¼ SV_PositionTEXCOORD«««OSGN, SV_TARGET««SHEXÐP´jXpUUbbBb2b2bBeò hFF
*€AA"
2
€A*
2    
@C@€?4
@3
@CA"
€A
")"@"
@ÿU"@
 
2F@6Â@-‰Â€CUòFF~6Â@-‰Â€CUòFF~2    ò FF>STAT”
¦“)êõüBso