xref: /aosp_15_r20/external/skia/tests/sksl/realistic/GaussianBlur.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1cbuffer uniformBuffer : register(b0, space0)
2{
3    float4 _4_sk_RTAdjust : packoffset(c0);
4    float2 _4_uIncrement_Stage1_c0 : packoffset(c1);
5    float4 _4_uKernel_Stage1_c0[7] : packoffset(c2);
6    row_major float3x3 _4_umatrix_Stage1_c0_c0 : packoffset(c9);
7    float4 _4_uborder_Stage1_c0_c0_c0 : packoffset(c12);
8    float4 _4_usubset_Stage1_c0_c0_c0 : packoffset(c13);
9    float4 _4_unorm_Stage1_c0_c0_c0 : packoffset(c14);
10};
11
12Texture2D<float4> uTextureSampler_0_Stage1 : register(t0, space0);
13SamplerState _uTextureSampler_0_Stage1_sampler : register(s0, space0);
14
15static float4 sk_FragColor;
16static float2 vLocalCoord_Stage0;
17
18struct SPIRV_Cross_Input
19{
20    float2 vLocalCoord_Stage0 : TEXCOORD0;
21};
22
23struct SPIRV_Cross_Output
24{
25    float4 sk_FragColor : SV_Target0;
26};
27
28float4 MatrixEffect_Stage1_c0_c0_h4h4f2(float4 _26, float2 _27)
29{
30    float2 _40 = mul(float3(_27, 1.0f), _4_umatrix_Stage1_c0_c0).xy;
31    float2 _RESERVED_IDENTIFIER_FIXUP_1_inCoord = _40;
32    float2 _46 = _40 * _4_unorm_Stage1_c0_c0_c0.xy;
33    _RESERVED_IDENTIFIER_FIXUP_1_inCoord = _46;
34    float2 _RESERVED_IDENTIFIER_FIXUP_2_subsetCoord = 0.0f.xx;
35    _RESERVED_IDENTIFIER_FIXUP_2_subsetCoord.x = _46.x;
36    _RESERVED_IDENTIFIER_FIXUP_2_subsetCoord.y = _RESERVED_IDENTIFIER_FIXUP_1_inCoord.y;
37    float2 _RESERVED_IDENTIFIER_FIXUP_3_clampedCoord = _RESERVED_IDENTIFIER_FIXUP_2_subsetCoord;
38    float4 _RESERVED_IDENTIFIER_FIXUP_4_textureColor = uTextureSampler_0_Stage1.Sample(_uTextureSampler_0_Stage1_sampler, _RESERVED_IDENTIFIER_FIXUP_2_subsetCoord * _4_unorm_Stage1_c0_c0_c0.zw);
39    float _72 = floor(_RESERVED_IDENTIFIER_FIXUP_1_inCoord.x + 0.001000000047497451305389404296875f) + 0.5f;
40    float _RESERVED_IDENTIFIER_FIXUP_5_snappedX = _72;
41    bool _86 = false;
42    if (_72 < _4_usubset_Stage1_c0_c0_c0.x)
43    {
44        _86 = true;
45    }
46    else
47    {
48        _86 = _72 > _4_usubset_Stage1_c0_c0_c0.z;
49    }
50    if (_86)
51    {
52        _RESERVED_IDENTIFIER_FIXUP_4_textureColor = _4_uborder_Stage1_c0_c0_c0;
53    }
54    return _RESERVED_IDENTIFIER_FIXUP_4_textureColor;
55}
56
57void frag_main()
58{
59    float4 outputColor_Stage0 = 1.0f.xxxx;
60    float4 outputCoverage_Stage0 = 1.0f.xxxx;
61    float4 _RESERVED_IDENTIFIER_FIXUP_6_output = 0.0f.xxxx;
62    float2 _109 = vLocalCoord_Stage0 - (_4_uIncrement_Stage1_c0 * 12.0f);
63    float2 _RESERVED_IDENTIFIER_FIXUP_7_coord = _109;
64    float2 _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = 0.0f.xx;
65    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _109;
66    float4 _112 = 1.0f.xxxx;
67    float2 _113 = _109;
68    float4 _120 = 0.0f.xxxx + (MatrixEffect_Stage1_c0_c0_h4h4f2(_112, _113) * _4_uKernel_Stage1_c0[0].x);
69    _RESERVED_IDENTIFIER_FIXUP_6_output = _120;
70    float2 _123 = _109 + _4_uIncrement_Stage1_c0;
71    _RESERVED_IDENTIFIER_FIXUP_7_coord = _123;
72    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _123;
73    float4 _124 = 1.0f.xxxx;
74    float2 _125 = _123;
75    float4 _131 = _120 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_124, _125) * _4_uKernel_Stage1_c0[0].y);
76    _RESERVED_IDENTIFIER_FIXUP_6_output = _131;
77    float2 _134 = _123 + _4_uIncrement_Stage1_c0;
78    _RESERVED_IDENTIFIER_FIXUP_7_coord = _134;
79    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _134;
80    float4 _135 = 1.0f.xxxx;
81    float2 _136 = _134;
82    float4 _142 = _131 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_135, _136) * _4_uKernel_Stage1_c0[0].z);
83    _RESERVED_IDENTIFIER_FIXUP_6_output = _142;
84    float2 _145 = _134 + _4_uIncrement_Stage1_c0;
85    _RESERVED_IDENTIFIER_FIXUP_7_coord = _145;
86    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _145;
87    float4 _146 = 1.0f.xxxx;
88    float2 _147 = _145;
89    float4 _153 = _142 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_146, _147) * _4_uKernel_Stage1_c0[0].w);
90    _RESERVED_IDENTIFIER_FIXUP_6_output = _153;
91    float2 _156 = _145 + _4_uIncrement_Stage1_c0;
92    _RESERVED_IDENTIFIER_FIXUP_7_coord = _156;
93    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _156;
94    float4 _157 = 1.0f.xxxx;
95    float2 _158 = _156;
96    float4 _164 = _153 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_157, _158) * _4_uKernel_Stage1_c0[1].x);
97    _RESERVED_IDENTIFIER_FIXUP_6_output = _164;
98    float2 _167 = _156 + _4_uIncrement_Stage1_c0;
99    _RESERVED_IDENTIFIER_FIXUP_7_coord = _167;
100    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _167;
101    float4 _168 = 1.0f.xxxx;
102    float2 _169 = _167;
103    float4 _175 = _164 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_168, _169) * _4_uKernel_Stage1_c0[1].y);
104    _RESERVED_IDENTIFIER_FIXUP_6_output = _175;
105    float2 _178 = _167 + _4_uIncrement_Stage1_c0;
106    _RESERVED_IDENTIFIER_FIXUP_7_coord = _178;
107    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _178;
108    float4 _179 = 1.0f.xxxx;
109    float2 _180 = _178;
110    float4 _186 = _175 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_179, _180) * _4_uKernel_Stage1_c0[1].z);
111    _RESERVED_IDENTIFIER_FIXUP_6_output = _186;
112    float2 _189 = _178 + _4_uIncrement_Stage1_c0;
113    _RESERVED_IDENTIFIER_FIXUP_7_coord = _189;
114    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _189;
115    float4 _190 = 1.0f.xxxx;
116    float2 _191 = _189;
117    float4 _197 = _186 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_190, _191) * _4_uKernel_Stage1_c0[1].w);
118    _RESERVED_IDENTIFIER_FIXUP_6_output = _197;
119    float2 _200 = _189 + _4_uIncrement_Stage1_c0;
120    _RESERVED_IDENTIFIER_FIXUP_7_coord = _200;
121    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _200;
122    float4 _201 = 1.0f.xxxx;
123    float2 _202 = _200;
124    float4 _208 = _197 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_201, _202) * _4_uKernel_Stage1_c0[2].x);
125    _RESERVED_IDENTIFIER_FIXUP_6_output = _208;
126    float2 _211 = _200 + _4_uIncrement_Stage1_c0;
127    _RESERVED_IDENTIFIER_FIXUP_7_coord = _211;
128    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _211;
129    float4 _212 = 1.0f.xxxx;
130    float2 _213 = _211;
131    float4 _219 = _208 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_212, _213) * _4_uKernel_Stage1_c0[2].y);
132    _RESERVED_IDENTIFIER_FIXUP_6_output = _219;
133    float2 _222 = _211 + _4_uIncrement_Stage1_c0;
134    _RESERVED_IDENTIFIER_FIXUP_7_coord = _222;
135    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _222;
136    float4 _223 = 1.0f.xxxx;
137    float2 _224 = _222;
138    float4 _230 = _219 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_223, _224) * _4_uKernel_Stage1_c0[2].z);
139    _RESERVED_IDENTIFIER_FIXUP_6_output = _230;
140    float2 _233 = _222 + _4_uIncrement_Stage1_c0;
141    _RESERVED_IDENTIFIER_FIXUP_7_coord = _233;
142    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _233;
143    float4 _234 = 1.0f.xxxx;
144    float2 _235 = _233;
145    float4 _241 = _230 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_234, _235) * _4_uKernel_Stage1_c0[2].w);
146    _RESERVED_IDENTIFIER_FIXUP_6_output = _241;
147    float2 _244 = _233 + _4_uIncrement_Stage1_c0;
148    _RESERVED_IDENTIFIER_FIXUP_7_coord = _244;
149    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _244;
150    float4 _245 = 1.0f.xxxx;
151    float2 _246 = _244;
152    float4 _252 = _241 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_245, _246) * _4_uKernel_Stage1_c0[3].x);
153    _RESERVED_IDENTIFIER_FIXUP_6_output = _252;
154    float2 _255 = _244 + _4_uIncrement_Stage1_c0;
155    _RESERVED_IDENTIFIER_FIXUP_7_coord = _255;
156    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _255;
157    float4 _256 = 1.0f.xxxx;
158    float2 _257 = _255;
159    float4 _263 = _252 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_256, _257) * _4_uKernel_Stage1_c0[3].y);
160    _RESERVED_IDENTIFIER_FIXUP_6_output = _263;
161    float2 _266 = _255 + _4_uIncrement_Stage1_c0;
162    _RESERVED_IDENTIFIER_FIXUP_7_coord = _266;
163    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _266;
164    float4 _267 = 1.0f.xxxx;
165    float2 _268 = _266;
166    float4 _274 = _263 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_267, _268) * _4_uKernel_Stage1_c0[3].z);
167    _RESERVED_IDENTIFIER_FIXUP_6_output = _274;
168    float2 _277 = _266 + _4_uIncrement_Stage1_c0;
169    _RESERVED_IDENTIFIER_FIXUP_7_coord = _277;
170    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _277;
171    float4 _278 = 1.0f.xxxx;
172    float2 _279 = _277;
173    float4 _285 = _274 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_278, _279) * _4_uKernel_Stage1_c0[3].w);
174    _RESERVED_IDENTIFIER_FIXUP_6_output = _285;
175    float2 _288 = _277 + _4_uIncrement_Stage1_c0;
176    _RESERVED_IDENTIFIER_FIXUP_7_coord = _288;
177    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _288;
178    float4 _289 = 1.0f.xxxx;
179    float2 _290 = _288;
180    float4 _296 = _285 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_289, _290) * _4_uKernel_Stage1_c0[4].x);
181    _RESERVED_IDENTIFIER_FIXUP_6_output = _296;
182    float2 _299 = _288 + _4_uIncrement_Stage1_c0;
183    _RESERVED_IDENTIFIER_FIXUP_7_coord = _299;
184    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _299;
185    float4 _300 = 1.0f.xxxx;
186    float2 _301 = _299;
187    float4 _307 = _296 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_300, _301) * _4_uKernel_Stage1_c0[4].y);
188    _RESERVED_IDENTIFIER_FIXUP_6_output = _307;
189    float2 _310 = _299 + _4_uIncrement_Stage1_c0;
190    _RESERVED_IDENTIFIER_FIXUP_7_coord = _310;
191    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _310;
192    float4 _311 = 1.0f.xxxx;
193    float2 _312 = _310;
194    float4 _318 = _307 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_311, _312) * _4_uKernel_Stage1_c0[4].z);
195    _RESERVED_IDENTIFIER_FIXUP_6_output = _318;
196    float2 _321 = _310 + _4_uIncrement_Stage1_c0;
197    _RESERVED_IDENTIFIER_FIXUP_7_coord = _321;
198    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _321;
199    float4 _322 = 1.0f.xxxx;
200    float2 _323 = _321;
201    float4 _329 = _318 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_322, _323) * _4_uKernel_Stage1_c0[4].w);
202    _RESERVED_IDENTIFIER_FIXUP_6_output = _329;
203    float2 _332 = _321 + _4_uIncrement_Stage1_c0;
204    _RESERVED_IDENTIFIER_FIXUP_7_coord = _332;
205    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _332;
206    float4 _333 = 1.0f.xxxx;
207    float2 _334 = _332;
208    float4 _340 = _329 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_333, _334) * _4_uKernel_Stage1_c0[5].x);
209    _RESERVED_IDENTIFIER_FIXUP_6_output = _340;
210    float2 _343 = _332 + _4_uIncrement_Stage1_c0;
211    _RESERVED_IDENTIFIER_FIXUP_7_coord = _343;
212    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _343;
213    float4 _344 = 1.0f.xxxx;
214    float2 _345 = _343;
215    float4 _351 = _340 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_344, _345) * _4_uKernel_Stage1_c0[5].y);
216    _RESERVED_IDENTIFIER_FIXUP_6_output = _351;
217    float2 _354 = _343 + _4_uIncrement_Stage1_c0;
218    _RESERVED_IDENTIFIER_FIXUP_7_coord = _354;
219    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _354;
220    float4 _355 = 1.0f.xxxx;
221    float2 _356 = _354;
222    float4 _362 = _351 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_355, _356) * _4_uKernel_Stage1_c0[5].z);
223    _RESERVED_IDENTIFIER_FIXUP_6_output = _362;
224    float2 _365 = _354 + _4_uIncrement_Stage1_c0;
225    _RESERVED_IDENTIFIER_FIXUP_7_coord = _365;
226    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _365;
227    float4 _366 = 1.0f.xxxx;
228    float2 _367 = _365;
229    float4 _373 = _362 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_366, _367) * _4_uKernel_Stage1_c0[5].w);
230    _RESERVED_IDENTIFIER_FIXUP_6_output = _373;
231    float2 _376 = _365 + _4_uIncrement_Stage1_c0;
232    _RESERVED_IDENTIFIER_FIXUP_7_coord = _376;
233    _RESERVED_IDENTIFIER_FIXUP_8_coordSampled = _376;
234    float4 _377 = 1.0f.xxxx;
235    float2 _378 = _376;
236    float4 _384 = _373 + (MatrixEffect_Stage1_c0_c0_h4h4f2(_377, _378) * _4_uKernel_Stage1_c0[6].x);
237    _RESERVED_IDENTIFIER_FIXUP_6_output = _384;
238    _RESERVED_IDENTIFIER_FIXUP_7_coord = _376 + _4_uIncrement_Stage1_c0;
239    float4 _388 = _384 * 1.0f.xxxx;
240    _RESERVED_IDENTIFIER_FIXUP_6_output = _388;
241    float4 output_Stage1 = _388;
242    sk_FragColor = _388 * 1.0f.xxxx;
243}
244
245SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
246{
247    vLocalCoord_Stage0 = stage_input.vLocalCoord_Stage0;
248    frag_main();
249    SPIRV_Cross_Output stage_output;
250    stage_output.sk_FragColor = sk_FragColor;
251    return stage_output;
252}
253