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

@ -4,8 +4,9 @@ ERROR: 0:4: 'rayPayloadInEXT' : not supported in this stage: ray-generation
ERROR: 0:5: 'shaderRecordNV' : can only be used with a buffer
ERROR: 0:9: 'binding' : cannot be used with shaderRecordNV
ERROR: 0:12: 'set' : cannot be used with shaderRecordNV
ERROR: 0:23: ' temp accelerationStructureNV' : cannot construct with these arguments
ERROR: 0:23: 'accelerationStructureNV' : accelerationStructureNV can only be used in uniform variables or function parameters: a
ERROR: 0:23: '=' : cannot convert from ' const int' to ' temp accelerationStructureNV'
ERROR: 0:23: '=' : cannot convert from ' const float' to ' temp accelerationStructureNV'
ERROR: 0:24: 'gl_PrimitiveID' : undeclared identifier
ERROR: 0:24: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:25: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
@ -28,11 +29,13 @@ ERROR: 0:34: 'gl_WorldToObjectEXT' : undeclared identifier
ERROR: 0:34: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:35: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:36: 'gl_HitKindEXT' : undeclared identifier
ERROR: 0:37: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:38: 'ignoreIntersectionEXT' : no matching overloaded function found
ERROR: 0:39: 'terminateRayEXT' : no matching overloaded function found
ERROR: 0:40: 'assign' : l-value required "anon@3" (can't modify a shaderrecordnv qualified buffer)
ERROR: 33 compilation errors. No code generated.
ERROR: 0:37: 'gl_RayFlagsSkipAABBEXT' : required extension not requested: GL_EXT_ray_flags_primitive_culling
ERROR: 0:37: '=' : cannot convert from ' const uint' to ' temp highp int'
ERROR: 0:38: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:39: 'ignoreIntersectionEXT' : not supported in this stage: ray-generation
ERROR: 0:40: 'terminateRayEXT' : not supported in this stage: ray-generation
ERROR: 0:41: 'assign' : l-value required "anon@3" (can't modify a shaderrecordnv qualified buffer)
ERROR: 36 compilation errors. No code generated.
ERROR: Linking ray-generation stage: Only one shaderRecordNV buffer block is allowed per stage