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:
Daniel Koch 2020-11-23 15:41:27 -05:00 committed by GitHub
parent 7f6559d280
commit ffccefddfd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
76 changed files with 4951 additions and 3663 deletions

View file

@ -3,7 +3,8 @@
hitAttributeEXT vec4 hitattr; // ERROR, hitattributeEXT unsupported in this stage
rayPayloadEXT vec4 payload; // ERROR, rayPayloadEXT unsupported in this stage
rayPayloadInEXT vec4 payloadIn; // ERROR, rayPayloadInEXT unsupported in this stage
layout(location = 0) callableDataEXT vec4 cd0;
layout(location = 0) callableDataEXT float cd1; // ERROR, location already used
void main()
{
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
@ -21,6 +22,7 @@ void main()
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
uint curFlags = gl_IncomingRayFlagsEXT; // 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
ignoreIntersectionEXT; // ERROR, unsupported in stage
terminateRayEXT; // ERROR, unsupported in stage
executeCallableEXT(1,1); // ERROR, no callable data with location 1
}