yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
1b65bd60
main
1#version 450 core 2#extension GL_KHR_memory_scope_semantics : enable 3#extension GL_NV_cooperative_vector : enable 4#extension GL_EXT_shader_explicit_arithmetic_types : enable 5#extension GL_EXT_buffer_reference : enable 6#extension GL_EXT_nonuniform_qualifier : enable 7 8layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; 9 10layout(constant_id = 0) const uint N = 3; 11 12void main() 13{ 14 float16_t f1 = float16_t(1.0); 15 float16_t f2 = float16_t(2.0); 16 float16_t f3 = float16_t(3.0); 17 18 coopvecNV<float16_t, N> v = coopvecNV<float16_t, N>(1.0); 19 coopvecNV<float16_t, N> v2 = coopvecNV<float16_t, N>(f2); 20 coopvecNV<float16_t, N> v3 = coopvecNV<float16_t, N>(1.0, 2.0, 3.0); 21 coopvecNV<float16_t, N> v4 = coopvecNV<float16_t, N>(f1, f2, f3); 22 coopvecNV<float16_t, N> v5 = coopvecNV<float16_t, N>(1.0); 23 coopvecNV<float16_t, N> v6 = coopvecNV<float16_t, N>(1.0, 2.0, 3.0); 24 25 coopvecNV<float, N> v7 = coopvecNV<float, N>(1); 26 v7 *= 2.0; 27 28 coopvecNV<uint32_t, N> v8 = coopvecNV<uint32_t, N>(1); 29 v8 *= 2; 30 31 coopvecNV<uint32_t, N> v9 = v8 * 2; 32 coopvecNV<uint32_t, N> v10 = 2 * v8; 33 34 v8 = v8 & v9; 35 v8 = v8 | v9; 36 v8 = v8 ^ ~v9; 37 v8 = v8 >> v9; 38 v8 = v8 << v9; 39 40 v8 &= v9; 41 v8 |= v9; 42 v8 ^= v9; 43 v8 >>= v9; 44 v8 <<= v9; 45 46 v = coopvecNV<float16_t, N>(v); 47 48 coopvecNV<int32_t, 1> v11; 49 coopvecNV<uint8_t, 1>(v11); 50 51 coopvecNV<int32_t, 4> v12; 52 coopvecNV<uint8_t, 4>(v12); 53 54 coopvecNV<float32_t, 4> v13; 55 coopvecNV<int8_t, 4>(v13); 56} 57 58void foo(coopvecNV<float32_t, 4> v) 59{ 60}