1#version 450 core 2#extension GL_KHR_memory_scope_semantics : enable 3#extension GL_KHR_cooperative_matrix : enable 4#extension GL_EXT_spec_constant_composites : enable 5 6#pragma use_replicated_composites 7 8layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 9 10layout(constant_id = 1) const int csix = 6; 11struct S { int a; int b; int c; }; 12struct SS { S s1; S s2; }; 13const S cs = S(csix, csix, csix); 14const SS css = SS(cs, cs); 15 16layout(constant_id = 2) const float spec_float = 3; 17const vec4 cv = vec4(spec_float); 18const mat4 cm = mat4(cv,cv,cv,cv); 19 20layout(constant_id = 0) const int cfive = 5; 21const int carr[3] = {cfive, cfive, cfive}; 22const int carr2[3][3] = {carr, carr, carr}; 23 24const coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> ccoop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(spec_float); 25 26void main() 27{ 28 coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> coop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(1.0); 29 30 float a = 2.0; 31 vec4 v = vec4(a); 32 v = cv; 33 mat4 m = mat4(v,v,v,v); 34 35 int five = 5; 36 int six = 6; 37 int arr[3] = {five, five, five}; 38 int arr2[3][3] = {arr, arr, arr}; 39 arr2 = carr2; 40 41 S s2 = S(six, six, six); 42 SS ss = SS(s2, s2); 43} 44