26 lines
		
	
	
		
			431 B
		
	
	
	
		
			GLSL
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			431 B
		
	
	
	
		
			GLSL
		
	
	
	
#version 450
 | 
						|
 | 
						|
#extension GL_ARB_gpu_shader_int64 : enable
 | 
						|
#extension GL_EXT_buffer_reference : enable
 | 
						|
 | 
						|
layout(buffer_reference, std430) buffer blockType {
 | 
						|
    uint x[];
 | 
						|
};
 | 
						|
 | 
						|
layout(std430) buffer t2 {
 | 
						|
    blockType f;
 | 
						|
} t;
 | 
						|
 | 
						|
layout(location = 0) flat in uint i;
 | 
						|
 | 
						|
void main() {
 | 
						|
 | 
						|
    atomicAdd(t.f.x[i], 1);
 | 
						|
 | 
						|
    coherent blockType b = t.f;
 | 
						|
    b.x[0] = 2;
 | 
						|
 | 
						|
    volatile blockType b2 = t.f;
 | 
						|
    b2.x[0] = 3;
 | 
						|
}
 |