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); 
 | |
| } |