* Fix traceRay/executeCallable to have id instead of constant. Update to final (non-provisional) SPIR-V capabilities (includes review feedback) - Change visibilty of findLinkerObjects. See merge request GLSL/glslang!78 * Add support for OpConvertUToAccelerationStructureKHR. GLSL : https://gitlab.khronos.org/GLSL/GLSL/-/merge_requests/60 SPV : https://gitlab.khronos.org/spirv/spirv-extensions/-/merge_requests/182 See merge request GLSL/glslang!77 * Add volatile qualifier to certain builtins for ray tracing. See merge request GLSL/glslang!81 * make gl_RayTmaxEXT volatile in intersection shader Vulkan Issue #2268 * Add testing for layouts on SBT vulkan/vulkan#2230 - no layout specified should be same as std430 - explicitly test std140, std430, scalar layouts See merge request GLSL/glslang!86 * Support for new opcodes OpIgnoreIntersectionKHR and OpTerminateRayKHR vulkan/vulkan#2374 Add support for ignoreIntersectionEXT and terminateRayEXT as block terminator statements. See merge request GLSL/glslang!87 * Fix code-generation issues with global ray query variables See merge request GLSL/glslang!88 * update dependencies for spirv-headers and tools And update mesh shader results * Fix indeterminate argument ordering Authored-by: David Neto <dneto@google.com> Co-authored-by: Ashwin Lele (NVIDIA Corporation) <alele@nvidia.com> Co-authored-by: Neslisah <Neslisah.Torosdagli@amd.com>
		
			
				
	
	
		
			32 lines
		
	
	
		
			823 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			823 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#version 460
 | 
						|
#extension GL_EXT_ray_query : enable
 | 
						|
#extension GL_EXT_ray_flags_primitive_culling : enable
 | 
						|
 | 
						|
layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
 | 
						|
 | 
						|
rayQueryEXT rqGlobal;
 | 
						|
 | 
						|
void otherWrapper(rayQueryEXT rq) {
 | 
						|
    rayQueryProceedEXT(rq);
 | 
						|
    rayQueryProceedEXT(rqGlobal);
 | 
						|
}
 | 
						|
 | 
						|
void wrapper(rayQueryEXT rq) {
 | 
						|
    rayQueryEXT rq2;
 | 
						|
    rayQueryProceedEXT(rq);
 | 
						|
    rayQueryProceedEXT(rqGlobal);
 | 
						|
    otherWrapper(rq);
 | 
						|
    otherWrapper(rq2);
 | 
						|
    otherWrapper(rqGlobal);
 | 
						|
}
 | 
						|
 | 
						|
void main() {
 | 
						|
    rayQueryInitializeEXT(rqGlobal, rtas, gl_RayFlagsNoneEXT, 0xFF, vec3(0,0,0), 0.0, vec3(1,0,0), 1.0);
 | 
						|
    wrapper(rqGlobal);
 | 
						|
    otherWrapper(rqGlobal);
 | 
						|
    rayQueryEXT rq2;
 | 
						|
    rayQueryInitializeEXT(rq2, rtas, gl_RayFlagsNoneEXT, 0xFF, vec3(0,0,0), 0.0, vec3(1,0,0), 1.0);
 | 
						|
    wrapper(rq2);
 | 
						|
    otherWrapper(rq2);
 | 
						|
}
 |