88 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #version 450 core
 | |
| #extension GL_KHR_memory_scope_semantics : enable
 | |
| #extension GL_KHR_cooperative_matrix : enable
 | |
| #extension GL_EXT_shader_explicit_arithmetic_types : enable
 | |
| 
 | |
| layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
 | |
| 
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     coopmat<float, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> f;
 | |
|     coopmat<float, gl_ScopeSubgroup, 8, 8, gl_MatrixUseB> f2;
 | |
|     coopmat<float, gl_ScopeSubgroup, 16, 8, gl_MatrixUseA> f3;
 | |
| 
 | |
|     coopmat<float16_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> f16;
 | |
| 
 | |
|     coopmat<uint8_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> u8;
 | |
|     coopmat<int8_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> i8;
 | |
|     coopmat<int32_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> i32;
 | |
| 
 | |
|     f+1.0;
 | |
|     f-1.0;
 | |
|     f/1.0;
 | |
|     1.0+f;
 | |
|     1.0-f;
 | |
|     1.0/f;
 | |
|     f+=1.0;
 | |
|     f-=1.0;
 | |
|     f/=1.0;
 | |
| 
 | |
|     f+f16;
 | |
|     f-f16;
 | |
|     f*f16;
 | |
|     f/f16;
 | |
|     f+=f16;
 | |
|     f-=f16;
 | |
|     f*=f16;
 | |
|     f/=f16;
 | |
| 
 | |
|     f+f2;
 | |
|     f-f2;
 | |
|     f*f2;
 | |
|     f/f2;
 | |
|     f+=f2;
 | |
|     f-=f2;
 | |
|     f*=f2;
 | |
|     f/=f2;
 | |
| 
 | |
|     f+f3;
 | |
|     f-f3;
 | |
|     f*f3;
 | |
|     f/f3;
 | |
|     f+=f3;
 | |
|     f-=f3;
 | |
|     f*=f3;
 | |
|     f/=f3;
 | |
| 
 | |
|     u8+i8;
 | |
|     u8-i8;
 | |
|     u8*i8;
 | |
|     u8/i8;
 | |
|     u8+=i8;
 | |
|     u8-=i8;
 | |
|     u8*=i8;
 | |
|     u8/=i8;
 | |
| 
 | |
|     u8+uint8_t(1);
 | |
|     u8-uint8_t(1);
 | |
|     u8/uint8_t(1);
 | |
|     u8+=uint8_t(1);
 | |
|     u8-=uint8_t(1);
 | |
|     u8/=uint8_t(1);
 | |
| 
 | |
|     i8+int8_t(1);
 | |
|     i8-int8_t(1);
 | |
|     i8/int8_t(1);
 | |
|     i8+=int8_t(1);
 | |
|     i8-=int8_t(1);
 | |
|     i8/=int8_t(1);
 | |
| 
 | |
|     i32+1;
 | |
|     i32-1;
 | |
|     i32/1;
 | |
|     i32+=1;
 | |
|     i32-=1;
 | |
|     i32/=1;
 | |
| }
 | 
