mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-14 13:51:04 +00:00
6c1db7fd6c
1. The test cases of OpReadClockKHR is invalid. The return type is unsigned integer rather than signed integer. 2. When SPIR-V decorate or SPIR-V type is specified, we should avoid auto location mapping because the semantics are totally decided by SPIR-V tokens.
26 lines
836 B
GLSL
26 lines
836 B
GLSL
#version 450 core
|
|
|
|
#extension GL_EXT_spirv_intrinsics: enable
|
|
#extension GL_ARB_gpu_shader_int64: enable
|
|
|
|
spirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
|
|
uvec2 clockRealtime2x32EXT(int);
|
|
|
|
spirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
|
|
uint64_t clockRealtimeEXT(int);
|
|
|
|
spirv_instruction (extensions = ["SPV_AMD_shader_trinary_minmax"], set = "SPV_AMD_shader_trinary_minmax", id = 1)
|
|
vec2 min3(vec2 x, vec2 y, vec2 z);
|
|
|
|
layout(location = 0) in vec3 vec3In;
|
|
|
|
layout(location = 0) out uvec2 uvec2Out;
|
|
layout(location = 1) out uint64_t u64Out;
|
|
layout(location = 2) out vec2 vec2Out;
|
|
|
|
void main()
|
|
{
|
|
uvec2Out = clockRealtime2x32EXT(1);
|
|
u64Out = clockRealtimeEXT(1);
|
|
vec2Out = min3(vec3In.xy, vec3In.yz, vec3In.zx);
|
|
} |