yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Wooyoung KimAdd GLSL_QCOM_image_processing3 support9e3f544d

main
5.0 KiB117 linesraw
1#version 310 es
2#extension GL_QCOM_image_processing3 : enable
3
4precision mediump float;
5precision highp usampler2D;
6precision highp sampler2D;
7precision highp isampler2DArray;
8
9layout(location = 0) in vec2 c2D;
10layout(location = 1) in vec3 c3D;
11layout(location = 2) in flat ivec2 offset;
12
13layout(location = 3) out vec4 FragColor;
14
15layout(binding = 0) uniform highp usampler2D usamp2d;
16layout(binding = 1) uniform highp isampler2D isamp2d;
17layout(binding = 2) uniform highp  sampler2D fsamp2d;
18
19layout(binding = 3) uniform highp usampler2DArray usamp2da;
20layout(binding = 4) uniform highp isampler2DArray isamp2da;
21layout(binding = 5) uniform highp  sampler2DArray fsamp2da;
22
23void main()
24{
25    vec4 sum = vec4(0.0f);
26
27    sum += vec4(textureGather4x1QCOM(usamp2d, c2D));
28    sum += vec4(textureGather4x1QCOM(usamp2d, c2D, 0));
29    sum += vec4(textureGather4x1QCOM(isamp2d, c2D));
30    sum += vec4(textureGather4x1QCOM(isamp2d, c2D, 1));
31    sum += vec4(textureGather4x1QCOM(fsamp2d, c2D));
32    sum += vec4(textureGather4x1QCOM(fsamp2d, c2D, 2));
33
34    sum += vec4(textureGatherV2QCOM(usamp2d, c2D));
35    sum += vec4(textureGatherV2QCOM(usamp2d, c2D, 1));
36    sum += vec4(textureGatherV2QCOM(isamp2d, c2D));
37    sum += vec4(textureGatherV2QCOM(isamp2d, c2D, 2));
38    sum += vec4(textureGatherV2QCOM(fsamp2d, c2D));
39    sum += vec4(textureGatherV2QCOM(fsamp2d, c2D, 3));
40
41    sum += vec4(textureGatherH2QCOM(usamp2d, c2D));
42    sum += vec4(textureGatherH2QCOM(usamp2d, c2D, 0));
43    sum += vec4(textureGatherH2QCOM(isamp2d, c2D));
44    sum += vec4(textureGatherH2QCOM(isamp2d, c2D, 1));
45    sum += vec4(textureGatherH2QCOM(fsamp2d, c2D));
46    sum += vec4(textureGatherH2QCOM(fsamp2d, c2D, 2));
47
48    sum += vec4(textureGatherDQCOM(usamp2d, c2D));
49    sum += vec4(textureGatherDQCOM(usamp2d, c2D, 1));
50    sum += vec4(textureGatherDQCOM(isamp2d, c2D));
51    sum += vec4(textureGatherDQCOM(isamp2d, c2D, 2));
52    sum += vec4(textureGatherDQCOM(fsamp2d, c2D));
53    sum += vec4(textureGatherDQCOM(fsamp2d, c2D, 3));
54
55    sum += vec4(textureGather4x1QCOM(usamp2da, c3D));
56    sum += vec4(textureGather4x1QCOM(isamp2da, c3D));
57    sum += vec4(textureGather4x1QCOM(fsamp2da, c3D));
58
59    sum += vec4(textureGatherV2QCOM(usamp2da, c3D));
60    sum += vec4(textureGatherV2QCOM(isamp2da, c3D));
61    sum += vec4(textureGatherV2QCOM(fsamp2da, c3D));
62
63    sum += vec4(textureGatherH2QCOM(usamp2da, c3D));
64    sum += vec4(textureGatherH2QCOM(isamp2da, c3D));
65    sum += vec4(textureGatherH2QCOM(fsamp2da, c3D));
66
67    sum += vec4(textureGatherDQCOM(usamp2da, c3D));
68    sum += vec4(textureGatherDQCOM(isamp2da, c3D));
69    sum += vec4(textureGatherDQCOM(fsamp2da, c3D));
70
71    // textureGather*OffsetQCOM
72    sum += vec4(textureGather4x1OffsetQCOM(usamp2d, c2D, offset));
73    sum += vec4(textureGather4x1OffsetQCOM(usamp2d, c2D, offset, 0));
74    sum += vec4(textureGather4x1OffsetQCOM(isamp2d, c2D, offset));
75    sum += vec4(textureGather4x1OffsetQCOM(isamp2d, c2D, offset, 1));
76    sum += vec4(textureGather4x1OffsetQCOM(fsamp2d, c2D, offset));
77    sum += vec4(textureGather4x1OffsetQCOM(fsamp2d, c2D, offset, 2));
78
79    sum += vec4(textureGatherV2OffsetQCOM(usamp2d, c2D, offset));
80    sum += vec4(textureGatherV2OffsetQCOM(usamp2d, c2D, offset, 1));
81    sum += vec4(textureGatherV2OffsetQCOM(isamp2d, c2D, offset));
82    sum += vec4(textureGatherV2OffsetQCOM(isamp2d, c2D, offset, 2));
83    sum += vec4(textureGatherV2OffsetQCOM(fsamp2d, c2D, offset));
84    sum += vec4(textureGatherV2OffsetQCOM(fsamp2d, c2D, offset, 3));
85
86    sum += vec4(textureGatherH2OffsetQCOM(usamp2d, c2D, offset));
87    sum += vec4(textureGatherH2OffsetQCOM(usamp2d, c2D, offset, 0));
88    sum += vec4(textureGatherH2OffsetQCOM(isamp2d, c2D, offset));
89    sum += vec4(textureGatherH2OffsetQCOM(isamp2d, c2D, offset, 1));
90    sum += vec4(textureGatherH2OffsetQCOM(fsamp2d, c2D, offset));
91    sum += vec4(textureGatherH2OffsetQCOM(fsamp2d, c2D, offset, 2));
92
93    sum += vec4(textureGatherDOffsetQCOM(usamp2d, c2D, offset));
94    sum += vec4(textureGatherDOffsetQCOM(usamp2d, c2D, offset, 1));
95    sum += vec4(textureGatherDOffsetQCOM(isamp2d, c2D, offset));
96    sum += vec4(textureGatherDOffsetQCOM(isamp2d, c2D, offset, 2));
97    sum += vec4(textureGatherDOffsetQCOM(fsamp2d, c2D, offset));
98    sum += vec4(textureGatherDOffsetQCOM(fsamp2d, c2D, offset, 3));
99
100    sum += vec4(textureGather4x1OffsetQCOM(usamp2da, c3D, offset));
101    sum += vec4(textureGather4x1OffsetQCOM(isamp2da, c3D, offset));
102    sum += vec4(textureGather4x1OffsetQCOM(fsamp2da, c3D, offset));
103
104    sum += vec4(textureGatherV2OffsetQCOM(usamp2da, c3D, offset));
105    sum += vec4(textureGatherV2OffsetQCOM(isamp2da, c3D, offset));
106    sum += vec4(textureGatherV2OffsetQCOM(fsamp2da, c3D, offset));
107
108    sum += vec4(textureGatherH2OffsetQCOM(usamp2da, c3D, offset));
109    sum += vec4(textureGatherH2OffsetQCOM(isamp2da, c3D, offset));
110    sum += vec4(textureGatherH2OffsetQCOM(fsamp2da, c3D, offset));
111
112    sum += vec4(textureGatherDOffsetQCOM(usamp2da, c3D, offset));
113    sum += vec4(textureGatherDOffsetQCOM(isamp2da, c3D, offset));
114    sum += vec4(textureGatherDOffsetQCOM(fsamp2da, c3D, offset));
115
116    FragColor = sum;
117}