 548c3adecd
			
		
	
	
		548c3adecd
		
	
	
	
	
		
			
			This amends the previous commit, which ommitted barriers in version 420 for compute shader.
		
			
				
	
	
		
			30 lines
		
	
	
		
			932 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			932 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #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();
 | |
| } |