| #version 450 core |
| #extension GL_KHR_memory_scope_semantics : enable |
| #extension GL_KHR_cooperative_matrix : enable
|
| #extension GL_EXT_spec_constant_composites : enable |
| |
| #pragma use_replicated_composites |
|
|
| layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
|
|
| layout(constant_id = 1) const int csix = 6;
|
| struct S { int a; int b; int c; };
|
| struct SS { S s1; S s2; }; |
| const S cs = S(csix, csix, csix); |
| const SS css = SS(cs, cs);
|
|
|
| layout(constant_id = 2) const float spec_float = 3;
|
| const vec4 cv = vec4(spec_float); |
| const mat4 cm = mat4(cv,cv,cv,cv); |
| |
| layout(constant_id = 0) const int cfive = 5; |
| const int carr[3] = {cfive, cfive, cfive}; |
| const int carr2[3][3] = {carr, carr, carr}; |
|
|
| const coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> ccoop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(spec_float);
|
|
|
| void main() |
| { |
| coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> coop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(1.0); |
| |
| float a = 2.0; |
| vec4 v = vec4(a); |
| v = cv; |
| mat4 m = mat4(v,v,v,v); |
| |
| int five = 5; |
| int six = 6; |
| int arr[3] = {five, five, five}; |
| int arr2[3][3] = {arr, arr, arr}; |
| arr2 = carr2; |
| |
| S s2 = S(six, six, six); |
| SS ss = SS(s2, s2); |
| } |