mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 20:10:06 +00:00
86 lines
1.5 KiB
Plaintext
86 lines
1.5 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<uint32_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> u32;
|
|
|
|
f+f;
|
|
f-f;
|
|
f*f;
|
|
f/f;
|
|
f+=f;
|
|
f-=f;
|
|
f*=f;
|
|
f/=f;
|
|
f*2.0;
|
|
2.0*f;
|
|
f*=2.0;
|
|
|
|
f16+f16;
|
|
f16-f16;
|
|
f16*f16;
|
|
f16/f16;
|
|
f16+=f16;
|
|
f16-=f16;
|
|
f16*=f16;
|
|
f16/=f16;
|
|
f16*float16_t(2.0);
|
|
float16_t(2.0)*f16;
|
|
f16*=float16_t(2.0);
|
|
|
|
u32+u32;
|
|
u32-u32;
|
|
u32*u32;
|
|
u32/u32;
|
|
u32+=u32;
|
|
u32-=u32;
|
|
u32*=u32;
|
|
u32/=u32;
|
|
u32*uint32_t(2);
|
|
uint32_t(2)*u32;
|
|
u32*=uint32_t(2);
|
|
|
|
u8+u8;
|
|
u8-u8;
|
|
u8*u8;
|
|
u8/u8;
|
|
u8+=u8;
|
|
u8-=u8;
|
|
u8*=u8;
|
|
u8/=u8;
|
|
u8*uint8_t(2);
|
|
uint8_t(2)*u8;
|
|
u8*=uint8_t(2);
|
|
|
|
i8+i8;
|
|
i8-i8;
|
|
i8*i8;
|
|
i8/i8;
|
|
i8+=i8;
|
|
i8-=i8;
|
|
i8*=i8;
|
|
i8/=i8;
|
|
i8*int8_t(2);
|
|
int8_t(2)*i8;
|
|
i8*=int8_t(2);
|
|
|
|
-f;
|
|
-f16;
|
|
-i8;
|
|
-u8;
|
|
}
|