yum-mirror/glslang

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

Wooyoung KimAdd GLSL_QCOM_image_processing3 support9e3f544d

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