* 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>
		
			
				
	
	
		
			43 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#version 460
 | 
						|
#extension GL_EXT_ray_tracing : enable
 | 
						|
hitAttributeEXT vec4 payload;                                // ERROR, hitattributeEXT unsupported in this stage 
 | 
						|
rayPayloadInEXT vec4 payloadIn;                              // ERROR, rayPayloadIn unsupported in this stage
 | 
						|
layout(shaderRecordEXT) uniform ublock                       // ERROR, shaderRecordEXT unsupported on uniform blocks
 | 
						|
{
 | 
						|
    float a;
 | 
						|
};
 | 
						|
layout(binding = 0, shaderRecordEXT) buffer bblock {         // ERROR, binding unsupported on shaderRecordEXT blocks
 | 
						|
    float b;
 | 
						|
};
 | 
						|
layout(set = 0, shaderRecordEXT) buffer bblock2 {            // ERROR, set unsupported on shaderRecordEXT blocks
 | 
						|
    float c;
 | 
						|
};
 | 
						|
layout(shaderRecordEXT) buffer bblock3 {
 | 
						|
    float d;
 | 
						|
};
 | 
						|
layout(shaderRecordEXT) buffer bblock4 {                     // ERROR, cannot have more than one shaderRecordEXTX block
 | 
						|
    float e;
 | 
						|
};
 | 
						|
void main()
 | 
						|
{
 | 
						|
    accelerationStructureEXT a = accelerationStructureEXT(c);
 | 
						|
    int e0 = gl_PrimitiveID;                                // ERROR, unsupported builtin in stage
 | 
						|
    int e1 = gl_InstanceID;                                 // ERROR, unsupported builtin in stage
 | 
						|
    int e3 = gl_InstanceCustomIndexEXT;                      // ERROR, unsupported builtin in stage
 | 
						|
    vec3 e4 = gl_WorldRayOriginEXT;                          // ERROR, unsupported builtin in stage
 | 
						|
    vec3 e5 = gl_WorldRayDirectionEXT;                       // ERROR, unsupported builtin in stage
 | 
						|
    vec3 e6 = gl_ObjectRayOriginEXT;                         // ERROR, unsupported builtin in stage
 | 
						|
    vec3 e7 = gl_ObjectRayDirectionEXT;                      // ERROR, unsupported builtin in stage
 | 
						|
    float e8 = gl_RayTminEXT;                                // ERROR, unsupported builtin in stage
 | 
						|
    float e9 = gl_RayTmaxEXT;                                // ERROR, unsupported builtin in stage
 | 
						|
    mat4x3 e10 = gl_ObjectToWorldEXT;                        // ERROR, unsupported builtin in stage
 | 
						|
    mat4x3 e11 = gl_WorldToObjectEXT;                        // ERROR, unsupported builtin in stage
 | 
						|
    float e12 = gl_HitTEXT;                                  // ERROR, unsupported builtin in stage
 | 
						|
    float e13 = gl_HitKindEXT;                               // ERROR, unsupported builtin in stage
 | 
						|
    int e14 = gl_RayFlagsSkipAABBEXT;                        // ERROR, unsupported builtin in stage
 | 
						|
    reportIntersectionEXT(1.0, 1U);                          // ERROR, unsupported builtin in stage
 | 
						|
    ignoreIntersectionEXT;                                   // ERROR, unsupported builtin in stage
 | 
						|
    terminateRayEXT;                                         // ERROR, unsupported builtin in stage
 | 
						|
    d = 1.0f;                                                // ERROR, can't modify shaderRecordEXT block
 | 
						|
}
 |