Guest User

Untitled

a guest
Apr 27th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. GLSL: #version 330
  2. #extension GL_ARB_compute_shader : require
  3. #extension GL_ARB_shader_bit_encoding : require
  4. #extension GL_ARB_shader_storage_buffer_object : require
  5. layout (local_size_x = 3, local_size_y = 2, local_size_z = 1) in;
  6. vec4 temp0[3];
  7. layout (binding = 16) buffer csssbo16 { uvec4 ssbocontents16[]; };
  8. void main(void)
  9. {
  10. temp0[0].x = float(uintBitsToFloat((uvec4(uvec4(gl_NumWorkGroups.x, gl_NumWorkGroups.x, gl_NumWorkGroups.x, gl_NumWorkGroups.x)) * uvec4(uvec4(gl_NumWorkGroups.y, gl_NumWorkGroups.y, gl_NumWorkGroups.y, gl_NumWorkGroups.y)))).x);
  11. temp0[0].x = float(uintBitsToFloat((uvec4(floatBitsToUint(temp0[0].xxxx)) * uvec4(uvec4(gl_WorkGroupID.z, gl_WorkGroupID.z, gl_WorkGroupID.z, gl_WorkGroupID.z)))).x);
  12. temp0[0].x = float(uintBitsToFloat((uvec4(gl_NumWorkGroups.x, gl_NumWorkGroups.x, gl_NumWorkGroups.x, gl_NumWorkGroups.x) * uvec4(gl_WorkGroupID.y, gl_WorkGroupID.y, gl_WorkGroupID.y, gl_WorkGroupID.y) + floatBitsToUint(temp0[0].xxxx)).x));
  13. temp0[0].x = float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[0].xxxx)) + uvec4(uvec4(gl_WorkGroupID.x, gl_WorkGroupID.x, gl_WorkGroupID.x, gl_WorkGroupID.x))))).x);
  14. temp0[1].x = float(uintBitsToFloat((uvec4(uvec4(gl_LocalInvocationID.y, gl_LocalInvocationID.y, gl_LocalInvocationID.y, gl_LocalInvocationID.y)) * uvec4((uvec4(3U,3U,3U,3U))))).x);
  15. temp0[1].x = float(uintBitsToFloat(((uvec4(6U,6U,6U,6U)) * uvec4(gl_LocalInvocationID.z, gl_LocalInvocationID.z, gl_LocalInvocationID.z, gl_LocalInvocationID.z) + floatBitsToUint(temp0[1].xxxx)).x));
  16. temp0[1].x = float(intBitsToFloat(ivec4((uvec4(floatBitsToUint(temp0[1].xxxx)) + uvec4(uvec4(gl_LocalInvocationID.x, gl_LocalInvocationID.x, gl_LocalInvocationID.x, gl_LocalInvocationID.x))))).x);
  17. temp0[1].x = float(uintBitsToFloat(((uvec4(6U,6U,6U,6U)) * floatBitsToUint(temp0[0].xxxx) + floatBitsToUint(temp0[1].xxxx)).x));
  18. temp0[2].x = float(uintBitsToFloat((uvec4(floatBitsToUint(temp0[1].xxxx)) * uvec4((uvec4(16U,16U,16U,16U))))).x);
  19. temp0[2].x = float(uintBitsToFloat((ssbocontents16[int(floatBitsToInt(temp0[2].xxxx))>>4]).x));
  20. temp0[0].x = float(uintBitsToFloat((floatBitsToUint(temp0[0].xxxx) * (uvec4(16U,16U,16U,16U)) + (uvec4(12288U,12288U,12288U,12288U))).x));
  21. temp0[0].x = float(intBitsToFloat(int(atomicMin(ssbocontents16[int(floatBitsToInt(temp0[0].xxxx)) >> 4].x, uint(floatBitsToUint(temp0[2].xxxx).x)))));
  22. temp0[1].x = float(uintBitsToFloat((floatBitsToUint(temp0[1].xxxx) * (uvec4(16U,16U,16U,16U)) + (uvec4(6144U,6144U,6144U,6144U))).x));
  23. ssbocontents16[uint(floatBitsToUint( temp0[1].xxxx ))>>4].x = floatBitsToUint( temp0[0].xxxx ).x;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment