1617a3babSopenharmony_ci#version 450 core
2617a3babSopenharmony_ci
3617a3babSopenharmony_ci#extension GL_EXT_spirv_intrinsics: enable
4617a3babSopenharmony_ci#extension GL_ARB_gpu_shader_int64: enable
5617a3babSopenharmony_ci
6617a3babSopenharmony_cispirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
7617a3babSopenharmony_ciuvec2 clockRealtime2x32EXT(int);
8617a3babSopenharmony_ci
9617a3babSopenharmony_cispirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
10617a3babSopenharmony_ciuint64_t clockRealtimeEXT(int);
11617a3babSopenharmony_ci
12617a3babSopenharmony_cispirv_instruction (extensions = ["SPV_AMD_shader_trinary_minmax"], set = "SPV_AMD_shader_trinary_minmax", id = 1)
13617a3babSopenharmony_civec2 min3(vec2 x, vec2 y, vec2 z);
14617a3babSopenharmony_ci
15617a3babSopenharmony_cilayout(location = 0) in vec3 vec3In;
16617a3babSopenharmony_ci
17617a3babSopenharmony_cilayout(location = 0) out uvec2 uvec2Out;
18617a3babSopenharmony_cilayout(location = 1) out uint64_t u64Out;
19617a3babSopenharmony_cilayout(location = 2) out vec2 vec2Out;
20617a3babSopenharmony_ci
21617a3babSopenharmony_civoid main()
22617a3babSopenharmony_ci{
23617a3babSopenharmony_ci    uvec2Out = clockRealtime2x32EXT(1);
24617a3babSopenharmony_ci    u64Out = clockRealtimeEXT(1);
25617a3babSopenharmony_ci    vec2Out = min3(vec3In.xy, vec3In.yz, vec3In.zx); 
26617a3babSopenharmony_ci}