Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GLSL: #version 330
- #extension GL_ARB_compute_shader : require
- #extension GL_ARB_shader_bit_encoding : require
- #extension GL_ARB_shader_storage_buffer_object : require
- layout (local_size_x = 3, local_size_y = 2, local_size_z = 1) in;
- vec4 temp0[3];
- layout (binding = 16) buffer csssbo16 { uvec4 ssbocontents16[]; };
- void main(void)
- {
- 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);
- 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);
- 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));
- 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);
- 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);
- 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));
- 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);
- temp0[1].x = float(uintBitsToFloat(((uvec4(6U,6U,6U,6U)) * floatBitsToUint(temp0[0].xxxx) + floatBitsToUint(temp0[1].xxxx)).x));
- temp0[2].x = float(uintBitsToFloat((uvec4(floatBitsToUint(temp0[1].xxxx)) * uvec4((uvec4(16U,16U,16U,16U))))).x);
- temp0[2].x = float(uintBitsToFloat((ssbocontents16[int(floatBitsToInt(temp0[2].xxxx))>>4]).x));
- temp0[0].x = float(uintBitsToFloat((floatBitsToUint(temp0[0].xxxx) * (uvec4(16U,16U,16U,16U)) + (uvec4(12288U,12288U,12288U,12288U))).x));
- temp0[0].x = float(intBitsToFloat(int(atomicMin(ssbocontents16[int(floatBitsToInt(temp0[0].xxxx)) >> 4].x, uint(floatBitsToUint(temp0[2].xxxx).x)))));
- temp0[1].x = float(uintBitsToFloat((floatBitsToUint(temp0[1].xxxx) * (uvec4(16U,16U,16U,16U)) + (uvec4(6144U,6144U,6144U,6144U))).x));
- ssbocontents16[uint(floatBitsToUint( temp0[1].xxxx ))>>4].x = floatBitsToUint( temp0[0].xxxx ).x;
- }
Advertisement
Add Comment
Please, Sign In to add comment