2 # Copyright 2021 Google LLC
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 SHADER compute compute_shader GLSL
18 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
20 layout(binding = 0) buffer block0
28 int ival = ssbo_array[0].data;
29 float val = float(ival);
32 ssbo_array[1].data = 7 / ival;
34 ssbo_array[2].data = int(7.0 / val);
36 ssbo_array[3].data = int(normalize(val));
38 ssbo_array[4].data = int(normalize(vec2(val))[ival]);
40 ssbo_array[5].data = int(normalize(vec3(val))[ival]);
42 ssbo_array[6].data = int(normalize(vec4(val))[ival]);
44 ssbo_array[7].data = 7 % ival;
46 ssbo_array[8].data = int(mod(7.0, val));
48 ssbo_array[9].data = int(mod(vec2(7.0), vec2(val))[ival]);
50 ssbo_array[10].data = int(mod(vec3(7.0), vec3(val))[ival]);
52 ssbo_array[11].data = int(mod(vec4(7.0), vec4(val))[ival]);
54 ssbo_array[12].data = int(smoothstep(val, val, 0.3));
56 ssbo_array[13].data = int(smoothstep(vec2(val), vec2(val), vec2(0.3))[ival]);
58 ssbo_array[14].data = int(smoothstep(vec3(val), vec3(val), vec3(0.3))[ival]);
60 ssbo_array[15].data = int(smoothstep(vec4(val), vec4(val), vec4(0.3))[ival]);
62 ssbo_array[16].data = int(atan(7.0, val));
64 ssbo_array[17].data = int(atan(vec2(7.0), vec2(val))[ival]);
66 ssbo_array[18].data = int(atan(vec3(7.0), vec3(val))[ival]);
68 ssbo_array[19].data = int(atan(vec4(7.0), vec4(val))[ival]);
71 ssbo_array[0].data = 42;
75 BUFFER buf0 DATA_TYPE int32 DATA
78 BUFFER buf1 DATA_TYPE int32 DATA
81 BUFFER buf2 DATA_TYPE int32 DATA
84 BUFFER buf3 DATA_TYPE int32 DATA
87 BUFFER buf4 DATA_TYPE int32 DATA
90 BUFFER buf5 DATA_TYPE int32 DATA
93 BUFFER buf6 DATA_TYPE int32 DATA
96 BUFFER buf7 DATA_TYPE int32 DATA
99 BUFFER buf8 DATA_TYPE int32 DATA
102 BUFFER buf9 DATA_TYPE int32 DATA
105 BUFFER buf10 DATA_TYPE int32 DATA
108 BUFFER buf11 DATA_TYPE int32 DATA
111 BUFFER buf12 DATA_TYPE int32 DATA
114 BUFFER buf13 DATA_TYPE int32 DATA
117 BUFFER buf14 DATA_TYPE int32 DATA
120 BUFFER buf15 DATA_TYPE int32 DATA
123 BUFFER buf16 DATA_TYPE int32 DATA
126 BUFFER buf17 DATA_TYPE int32 DATA
129 BUFFER buf18 DATA_TYPE int32 DATA
132 BUFFER buf19 DATA_TYPE int32 DATA
136 PIPELINE compute pipeline
137 ATTACH compute_shader
139 BIND BUFFER_ARRAY buf0 buf1 buf2 buf3 buf4 buf5 buf6 buf7 buf8 buf9 buf10 buf11 buf12 buf13 buf14 buf15 buf16 buf17 buf18 buf19 AS storage DESCRIPTOR_SET 0 BINDING 0
144 EXPECT buf0 IDX 0 EQ 42