xref: /aosp_15_r20/external/skia/tests/sksl/realistic/GaussianBlur.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1
2out vec4 sk_FragColor;
3layout (binding = 0) uniform sampler2D uTextureSampler_0_Stage1;
4layout (binding = 0) uniform uniformBuffer {
5    layout (offset = 0) vec4 sk_RTAdjust;
6    layout (offset = 16) vec2 uIncrement_Stage1_c0;
7    layout (offset = 32) vec4[7] uKernel_Stage1_c0;
8    layout (offset = 144) mat3 umatrix_Stage1_c0_c0;
9    layout (offset = 192) vec4 uborder_Stage1_c0_c0_c0;
10    layout (offset = 208) vec4 usubset_Stage1_c0_c0_c0;
11    layout (offset = 224) vec4 unorm_Stage1_c0_c0_c0;
12};
13layout (location = 0) in vec2 vLocalCoord_Stage0;
14vec4 MatrixEffect_Stage1_c0_c0_h4h4f2(vec4 _input, vec2 _coords) {
15    vec2 _1_inCoord = (umatrix_Stage1_c0_c0 * vec3(_coords, 1.0)).xy;
16    _1_inCoord *= unorm_Stage1_c0_c0_c0.xy;
17    vec2 _2_subsetCoord;
18    _2_subsetCoord.x = _1_inCoord.x;
19    _2_subsetCoord.y = _1_inCoord.y;
20    vec2 _3_clampedCoord = _2_subsetCoord;
21    vec4 _4_textureColor = texture(uTextureSampler_0_Stage1, _3_clampedCoord * unorm_Stage1_c0_c0_c0.zw);
22    float _5_snappedX = floor(_1_inCoord.x + 0.001) + 0.5;
23    if (_5_snappedX < usubset_Stage1_c0_c0_c0.x || _5_snappedX > usubset_Stage1_c0_c0_c0.z) {
24        _4_textureColor = uborder_Stage1_c0_c0_c0;
25    }
26    return _4_textureColor;
27}
28void main() {
29    vec4 outputColor_Stage0;
30    vec4 outputCoverage_Stage0;
31    {
32        outputColor_Stage0 = vec4(1.0);
33        outputCoverage_Stage0 = vec4(1.0);
34    }
35    vec4 _6_output = vec4(0.0);
36    vec2 _7_coord = vLocalCoord_Stage0 - 12.0 * uIncrement_Stage1_c0;
37    vec2 _8_coordSampled = vec2(0.0);
38    _8_coordSampled = _7_coord;
39    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[0].x;
40    _7_coord += uIncrement_Stage1_c0;
41    _8_coordSampled = _7_coord;
42    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[0].y;
43    _7_coord += uIncrement_Stage1_c0;
44    _8_coordSampled = _7_coord;
45    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[0].z;
46    _7_coord += uIncrement_Stage1_c0;
47    _8_coordSampled = _7_coord;
48    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[0].w;
49    _7_coord += uIncrement_Stage1_c0;
50    _8_coordSampled = _7_coord;
51    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[1].x;
52    _7_coord += uIncrement_Stage1_c0;
53    _8_coordSampled = _7_coord;
54    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[1].y;
55    _7_coord += uIncrement_Stage1_c0;
56    _8_coordSampled = _7_coord;
57    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[1].z;
58    _7_coord += uIncrement_Stage1_c0;
59    _8_coordSampled = _7_coord;
60    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[1].w;
61    _7_coord += uIncrement_Stage1_c0;
62    _8_coordSampled = _7_coord;
63    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[2].x;
64    _7_coord += uIncrement_Stage1_c0;
65    _8_coordSampled = _7_coord;
66    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[2].y;
67    _7_coord += uIncrement_Stage1_c0;
68    _8_coordSampled = _7_coord;
69    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[2].z;
70    _7_coord += uIncrement_Stage1_c0;
71    _8_coordSampled = _7_coord;
72    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[2].w;
73    _7_coord += uIncrement_Stage1_c0;
74    _8_coordSampled = _7_coord;
75    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[3].x;
76    _7_coord += uIncrement_Stage1_c0;
77    _8_coordSampled = _7_coord;
78    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[3].y;
79    _7_coord += uIncrement_Stage1_c0;
80    _8_coordSampled = _7_coord;
81    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[3].z;
82    _7_coord += uIncrement_Stage1_c0;
83    _8_coordSampled = _7_coord;
84    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[3].w;
85    _7_coord += uIncrement_Stage1_c0;
86    _8_coordSampled = _7_coord;
87    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[4].x;
88    _7_coord += uIncrement_Stage1_c0;
89    _8_coordSampled = _7_coord;
90    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[4].y;
91    _7_coord += uIncrement_Stage1_c0;
92    _8_coordSampled = _7_coord;
93    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[4].z;
94    _7_coord += uIncrement_Stage1_c0;
95    _8_coordSampled = _7_coord;
96    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[4].w;
97    _7_coord += uIncrement_Stage1_c0;
98    _8_coordSampled = _7_coord;
99    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[5].x;
100    _7_coord += uIncrement_Stage1_c0;
101    _8_coordSampled = _7_coord;
102    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[5].y;
103    _7_coord += uIncrement_Stage1_c0;
104    _8_coordSampled = _7_coord;
105    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[5].z;
106    _7_coord += uIncrement_Stage1_c0;
107    _8_coordSampled = _7_coord;
108    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[5].w;
109    _7_coord += uIncrement_Stage1_c0;
110    _8_coordSampled = _7_coord;
111    _6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(outputColor_Stage0, _8_coordSampled) * uKernel_Stage1_c0[6].x;
112    _7_coord += uIncrement_Stage1_c0;
113    _6_output *= outputColor_Stage0;
114    vec4 output_Stage1 = _6_output;
115    {
116        sk_FragColor = output_Stage1 * outputCoverage_Stage0;
117    }
118}
119