29 lines
		
	
	
		
			686 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			686 B
		
	
	
	
		
			Plaintext
		
	
	
	
#version 450 core
 | 
						|
#extension GL_KHR_memory_scope_semantics : enable
 | 
						|
#extension GL_NV_cooperative_matrix : enable
 | 
						|
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable
 | 
						|
 | 
						|
#pragma use_variable_pointers
 | 
						|
 | 
						|
layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
 | 
						|
 | 
						|
layout(set = 0, binding = 0) coherent buffer Block {
 | 
						|
    float y[1024*1024];
 | 
						|
    float x[];
 | 
						|
} block;
 | 
						|
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    fcoopmatNV<32, gl_ScopeSubgroup, 16, 8> m = fcoopmatNV<32, gl_ScopeSubgroup, 16, 8>(0.0);
 | 
						|
 | 
						|
    m = m + m;
 | 
						|
    m = m - m;
 | 
						|
    m = -m;
 | 
						|
    m = 2.0*m;
 | 
						|
    m = m*2.0;
 | 
						|
 | 
						|
    coopMatLoadNV(m, block.x, 16, 128, false);
 | 
						|
    coopMatStoreNV(m, block.x, 16, 128, false);
 | 
						|
}
 |