glslang/Test/spv.coopmatKHR_arithmetic.comp

86 lines
1.5 KiB
Plaintext
Raw Permalink Normal View History

#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;
}