30 lines
		
	
	
		
			932 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			932 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#version 420
 | 
						|
 | 
						|
layout(local_size_x = 2) in;  // ERROR, no compute
 | 
						|
 | 
						|
#extension GL_ARB_compute_shader : enable
 | 
						|
 | 
						|
layout(local_size_x = 2, local_size_y = 4, local_size_z = 6) in;
 | 
						|
 | 
						|
shared vec3 sfoo;
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    sfoo = vec3(gl_WorkGroupSize.x, gl_WorkGroupSize.y, gl_WorkGroupSize.z);
 | 
						|
    sfoo += gl_WorkGroupSize + gl_NumWorkGroups + gl_WorkGroupID + gl_LocalInvocationID + gl_GlobalInvocationID;
 | 
						|
    sfoo *= gl_LocalInvocationIndex;
 | 
						|
    sfoo += gl_MaxComputeWorkGroupCount + gl_MaxComputeWorkGroupSize;
 | 
						|
    sfoo *= gl_MaxComputeUniformComponents +
 | 
						|
            gl_MaxComputeTextureImageUnits +
 | 
						|
            gl_MaxComputeImageUniforms +
 | 
						|
            gl_MaxComputeAtomicCounters +
 | 
						|
            gl_MaxComputeAtomicCounterBuffers;
 | 
						|
 | 
						|
    barrier();
 | 
						|
    memoryBarrier();
 | 
						|
    memoryBarrierAtomicCounter();
 | 
						|
    memoryBarrierBuffer();
 | 
						|
    memoryBarrierImage();
 | 
						|
    memoryBarrierShared();
 | 
						|
    groupMemoryBarrier();
 | 
						|
} |