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

@ -109,8 +109,8 @@ ERROR: node is still EOpNull!
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:7 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
0:8 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
@ -128,11 +128,11 @@ ERROR: node is still EOpNull!
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:22 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
0:23 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
0:24 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
0:25 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
0:26 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
@ -425,8 +425,8 @@ ERROR: node is still EOpNull!
0:129 Function Definition: basic_works( ( global void)
0:129 Function Parameters:
0:131 Sequence
0:131 'gl_SubgroupSize' ( in uint SubgroupSize)
0:132 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:131 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
0:132 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:133 subgroupBarrier ( global void)
0:134 subgroupMemoryBarrier ( global void)
0:135 subgroupMemoryBarrierBuffer ( global void)
@ -436,11 +436,11 @@ ERROR: node is still EOpNull!
0:141 Function Parameters:
0:141 'f4' ( in 4-component vector of float)
0:142 Sequence
0:142 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:143 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:144 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:145 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:146 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:142 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
0:143 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
0:144 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
0:145 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
0:146 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:147 subgroupBroadcast ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
@ -690,15 +690,15 @@ ERROR: node is still EOpNull!
0:257 Sequence
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:258 'gl_SMCountNV' ( in uint SMCountNV)
0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
0:260 'gl_SMIDNV' ( in uint SMIDNV)
0:259 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
0:260 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:267 Function Definition: sm_builtins( ( global void)
0:267 Function Parameters:
0:269 Sequence
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:270 'gl_SMCountNV' ( in uint SMCountNV)
0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
0:272 'gl_SMIDNV' ( in uint SMIDNV)
0:271 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
0:272 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)