 ffccefddfd
			
		
	
	
		ffccefddfd
		
			
		
	
	
	
	
		
			
			* 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>
		
			
				
	
	
		
			21 lines
		
	
	
		
			794 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			794 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 460
 | |
| #extension GL_EXT_ray_tracing : enable
 | |
| #extension GL_NV_shader_sm_builtins : enable
 | |
| #extension GL_KHR_shader_subgroup_ballot : enable
 | |
| #extension GL_ARB_shader_ballot : enable
 | |
| #extension GL_NV_shader_sm_builtins : enable
 | |
| layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
 | |
| layout(location = 0) rayPayloadEXT vec4 localPayload;
 | |
| layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
 | |
| void main()
 | |
| {
 | |
| 	uvec3 v0 = gl_LaunchIDEXT;
 | |
| 	uvec3 v1 = gl_LaunchSizeEXT;
 | |
| 	vec3 v2 = gl_WorldRayOriginEXT;
 | |
| 	vec3 v3 = gl_WorldRayDirectionEXT;
 | |
| 	float v4 = gl_RayTminEXT;
 | |
| 	float v5 = gl_RayTmaxEXT;
 | |
| 	traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
 | |
|     incomingPayload.x = float(gl_SubGroupSizeARB) + float(gl_SubgroupEqMask) + float(gl_WarpIDNV);
 | |
| }
 |