Updates for final Vulkan ray tracing extensions (#2466)
* 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>
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
#extension GL_EXT_ray_tracing : enable
|
||||
hitAttributeEXT vec4 payload;
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
|
||||
|
||||
layout(location = 2) rayPayloadEXT vec4 payload0;
|
||||
layout(location = 2) rayPayloadInEXT block { vec4 data; }; // ERROR : location already used
|
||||
void main()
|
||||
{
|
||||
payload.x = 1.0f; // ERROR, cannot write to hitattributeEXT in stage
|
||||
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
|
||||
terminateRayEXT();
|
||||
ignoreIntersectionEXT();
|
||||
terminateRayEXT;
|
||||
ignoreIntersectionEXT;
|
||||
bool e1 = gl_IncomingRayFlagsEXT == gl_RayFlagsSkipAABBEXT;
|
||||
traceRayEXT(accEXT, 0, 0, 0, 0, 0, vec3(0.0), 0.0, vec3(1.0), 1.0, 0); //ERROR no payload variable with location = 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user