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
76 changed files with 4951 additions and 3663 deletions

View File

@@ -3,7 +3,7 @@ spv.ext.ClosestHitShader.rchit
// Generated by (magic number): 8000a
// Id's are bound by 101
Capability RayTracingProvisionalKHR
Capability RayTracingKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
@@ -48,8 +48,8 @@ spv.ext.ClosestHitShader.rchit
Name 79 "v17"
Name 80 "gl_WorldToObject3x4EXT"
Name 85 "accEXT"
Name 98 "localPayload"
Name 100 "incomingPayload"
Name 98 "incomingPayload"
Name 100 "localPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@@ -70,8 +70,8 @@ spv.ext.ClosestHitShader.rchit
Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
Decorate 85(accEXT) DescriptorSet 0
Decorate 85(accEXT) Binding 0
Decorate 98(localPayload) Location 0
Decorate 100(incomingPayload) Location 1
Decorate 98(incomingPayload) Location 1
Decorate 100(localPayload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -126,10 +126,10 @@ spv.ext.ClosestHitShader.rchit
94: 29(fvec3) ConstantComposite 93 93 93
95: 28(float) Constant 1061158912
96: 16(int) Constant 1
97: TypePointer RayPayloadKHR 72(fvec4)
98(localPayload): 97(ptr) Variable RayPayloadKHR
99: TypePointer IncomingRayPayloadKHR 72(fvec4)
100(incomingPayload): 99(ptr) Variable IncomingRayPayloadKHR
97: TypePointer IncomingRayPayloadKHR 72(fvec4)
98(incomingPayload): 97(ptr) Variable IncomingRayPayloadKHR
99: TypePointer RayPayloadKHR 72(fvec4)
100(localPayload): 99(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@@ -189,6 +189,6 @@ spv.ext.ClosestHitShader.rchit
82: 73 Transpose 81
Store 79(v17) 82
86: 83 Load 85(accEXT)
TraceRayKHR 86 87 88 89 90 87 92 91 94 95 96
TraceRayKHR 86 87 88 89 90 87 92 91 94 95 98(incomingPayload)
Return
FunctionEnd