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
2­T±oÔdH¡¼Ë û#6784271c1c62P‹ò    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ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^‹ÿÿÿÿL-hÁ±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ<<ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÊ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);
    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_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_15611 = {0, 0, 0, 0};
(_tmpvar_15611.zw = float2(0.0, 1.0));
(_tmpvar_15611.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_15611);
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<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  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(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_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
}
¶¦¦¶PDXBCPtWô6UñQsu§ qzP4Œx´RDEFPl<þÿÁ%RD11< ($ \DriverConstants\„PLdÿÿÿÿÿÿÿÿˆ  ÿÿÿÿÿÿÿÿÄ0 ÿÿÿÿÿÿÿÿÑ<ìÿÿÿÿÿÿÿÿ@ìÿÿÿÿÿÿÿÿdx_ViewAdjustfloat4«««Zdx_ViewCoordsfloat2«««–dx_ViewScaleclipControlOriginfloat«««ãclipControlZeroToOneMicrosoft (R) HLSL Shader Compiler 10.1«««ISGNthhhhTEXCOORD«««OSGNhP\\ SV_PositionTEXCOORD«««SHEX4PjYFŽ _2_ò_ò_2gò eò e2 h9 @
€ 7    B 
@@?2F€Aæ2    2FFF8
Â@??2Fæ
 
2F@€¿€¿8" :€ 6‚@€?6’  6² F 6B @2F€Aæ2    2 FFF>STAT”àŒ°DXBCI‰ø'Ðð€?v° Ò˜÷S°4Ð@tRDEF”<ÿÿÁjRD11< ($ \ÿÿÿÿ textures2D[0]Microsoft (R) HLSL Shader Compiler 10.1««ISGNhP\\SV_PositionTEXCOORD«««OSGN, SV_TARGET««SHEX˜P&jXpUUb2eò h2F6Â@-‰Â€CUò FF~>STAT”¦“ă u!¡tt