2021-11-16 15:15:36 +00:00
|
|
|
#version 310 es
|
|
|
|
precision mediump float;
|
|
|
|
|
2021-12-09 15:45:03 +00:00
|
|
|
struct Constants {
|
|
|
|
uint zero;
|
|
|
|
};
|
2021-11-16 15:15:36 +00:00
|
|
|
|
2022-01-25 20:06:05 +00:00
|
|
|
layout(binding = 0) uniform Constants_1 {
|
2021-11-16 15:15:36 +00:00
|
|
|
uint zero;
|
|
|
|
} constants;
|
|
|
|
|
2021-12-09 15:45:03 +00:00
|
|
|
struct Result {
|
|
|
|
uint value;
|
|
|
|
};
|
|
|
|
|
2022-01-25 20:06:05 +00:00
|
|
|
layout(binding = 1) buffer Result_1 {
|
2021-11-16 15:15:36 +00:00
|
|
|
uint value;
|
|
|
|
} result;
|
2021-12-09 15:45:03 +00:00
|
|
|
struct TestData {
|
|
|
|
int data[3];
|
|
|
|
};
|
|
|
|
|
2022-01-25 20:06:05 +00:00
|
|
|
layout(binding = 0) buffer TestData_1 {
|
2021-11-16 15:15:36 +00:00
|
|
|
int data[3];
|
|
|
|
} s;
|
|
|
|
int runTest() {
|
2021-11-19 17:46:13 +00:00
|
|
|
return atomicOr(s.data[(0u + uint(constants.zero))], 0);
|
2021-11-16 15:15:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
void tint_symbol() {
|
|
|
|
result.value = uint(runTest());
|
|
|
|
return;
|
|
|
|
}
|
2022-01-26 16:48:55 +00:00
|
|
|
|
2021-11-16 15:15:36 +00:00
|
|
|
void main() {
|
|
|
|
tint_symbol();
|
|
|
|
}
|
|
|
|
|