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:
@ -359,8 +359,8 @@ ERROR: node is still EOpNull!
0:119 Function Definition: basic_works( ( global void)
0:119 Function Parameters:
0:121 Sequence
0:121 'gl_SubgroupSize' ( in uint SubgroupSize)
0:122 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:121 'gl_SubgroupSize' ( volatile in uint SubgroupSize)
0:122 'gl_SubgroupInvocationID' ( volatile in uint SubgroupInvocationID)
0:123 subgroupBarrier ( global void)
0:124 subgroupMemoryBarrier ( global void)
0:125 subgroupMemoryBarrierBuffer ( global void)
@ -370,11 +370,11 @@ ERROR: node is still EOpNull!
0:131 Function Parameters:
0:131 'f4' ( in 4-component vector of float)
0:132 Sequence
0:132 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:133 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:134 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:135 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:136 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:132 'gl_SubgroupEqMask' ( volatile in 4-component vector of uint SubgroupEqMask)
0:133 'gl_SubgroupGeMask' ( volatile in 4-component vector of uint SubgroupGeMask)
0:134 'gl_SubgroupGtMask' ( volatile in 4-component vector of uint SubgroupGtMask)
0:135 'gl_SubgroupLeMask' ( volatile in 4-component vector of uint SubgroupLeMask)
0:136 'gl_SubgroupLtMask' ( volatile in 4-component vector of uint SubgroupLtMask)
0:137 subgroupBroadcast ( global 4-component vector of float)
0:137 'f4' ( in 4-component vector of float)
0:137 Constant:
@ -624,15 +624,15 @@ ERROR: node is still EOpNull!
0:247 Sequence
0:247 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:248 'gl_SMCountNV' ( in uint SMCountNV)
0:249 'gl_WarpIDNV' ( in uint WarpIDNV)
0:250 'gl_SMIDNV' ( in uint SMIDNV)
0:249 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
0:250 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:257 Function Definition: sm_builtins( ( global void)
0:257 Function Parameters:
0:259 Sequence
0:259 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:260 'gl_SMCountNV' ( in uint SMCountNV)
0:261 'gl_WarpIDNV' ( in uint WarpIDNV)
0:262 'gl_SMIDNV' ( in uint SMIDNV)
0:261 'gl_WarpIDNV' ( volatile in uint WarpIDNV)
0:262 'gl_SMIDNV' ( volatile in uint SMIDNV)
0:? Linker Objects
0:? 'data0' (layout( location=0) callableDataNV 4-component vector of float)
0:? 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1})