• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 310 es
2layout(local_size_x = 1) in;
3
4layout(std430, binding = 0) readonly buffer SSBO
5{
6    vec4 in_data[];
7};
8
9layout(std430, binding = 1) writeonly buffer SSBO2
10{
11    vec4 out_data[];
12};
13
14void main()
15{
16    uint ident = gl_GlobalInvocationID.x;
17    vec4 v = mod(in_data[ident], out_data[ident]);
18    out_data[ident] = v;
19
20    uvec4 vu = floatBitsToUint(in_data[ident]) % floatBitsToUint(out_data[ident]);
21    out_data[ident] = uintBitsToFloat(vu);
22
23    ivec4 vi = floatBitsToInt(in_data[ident]) % floatBitsToInt(out_data[ident]);
24    out_data[ident] = intBitsToFloat(vi);
25}
26
27