yum-mirror/glslang

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

Wooyoung KimAdd GLSL_QCOM_image_processing3 support9e3f544d

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