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.data[0];
29 float val = float(ival);
32 ssbo.data[1] = 7 / ival;
34 ssbo.data[2] = int(7.0 / val);
36 ssbo.data[3] = int(normalize(val));
38 ssbo.data[4] = int(normalize(vec2(val))[ival]);
40 ssbo.data[5] = int(normalize(vec3(val))[ival]);
42 ssbo.data[6] = int(normalize(vec4(val))[ival]);
44 ssbo.data[7] = 7 % ival;
46 ssbo.data[8] = int(mod(7.0, val));
48 ssbo.data[9] = int(mod(vec2(7.0), vec2(val))[ival]);
50 ssbo.data[10] = int(mod(vec3(7.0), vec3(val))[ival]);
52 ssbo.data[11] = int(mod(vec4(7.0), vec4(val))[ival]);
54 ssbo.data[12] = int(smoothstep(val, val, 0.3));
56 ssbo.data[13] = int(smoothstep(vec2(val), vec2(val), vec2(0.3))[ival]);
58 ssbo.data[14] = int(smoothstep(vec3(val), vec3(val), vec3(0.3))[ival]);
60 ssbo.data[15] = int(smoothstep(vec4(val), vec4(val), vec4(0.3))[ival]);
62 ssbo.data[16] = int(atan(7.0, val));
64 ssbo.data[17] = int(atan(vec2(7.0), vec2(val))[ival]);
66 ssbo.data[18] = int(atan(vec3(7.0), vec3(val))[ival]);
68 ssbo.data[19] = int(atan(vec4(7.0), vec4(val))[ival]);
75 BUFFER ssbo_buffer DATA_TYPE int32 DATA
76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
79 PIPELINE compute pipeline
82 BIND BUFFER ssbo_buffer AS storage DESCRIPTOR_SET 0 BINDING 0
87 EXPECT ssbo_buffer IDX 0 EQ 42