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:
parent
7f6559d280
commit
ffccefddfd
76 changed files with 4951 additions and 3663 deletions
|
|
@ -1,17 +1,19 @@
|
|||
spv.ext.RayGenShaderArray.rgen
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 89
|
||||
// Id's are bound by 117
|
||||
|
||||
Capability Int64
|
||||
Capability RayTracingKHR
|
||||
Capability ShaderNonUniformEXT
|
||||
Capability RuntimeDescriptorArrayEXT
|
||||
Capability RayTracingProvisionalKHR
|
||||
Extension "SPV_EXT_descriptor_indexing"
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint RayGenerationKHR 4 "main" 11 21 30 36 60 88
|
||||
EntryPoint RayGenerationKHR 4 "main" 11 21 30 38 61 65
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_ARB_gpu_shader_int64"
|
||||
SourceExtension "GL_EXT_nonuniform_qualifier"
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
Name 4 "main"
|
||||
|
|
@ -22,29 +24,33 @@ spv.ext.RayGenShaderArray.rgen
|
|||
Name 21 "gl_LaunchSizeEXT"
|
||||
Name 24 "sy"
|
||||
Name 30 "accEXT0"
|
||||
Name 34 "block"
|
||||
MemberName 34(block) 0 "dir"
|
||||
MemberName 34(block) 1 "origin"
|
||||
MemberName 34(block) 2 "i"
|
||||
Name 36 ""
|
||||
Name 60 "accEXT1"
|
||||
Name 88 "payload"
|
||||
Name 36 "block"
|
||||
MemberName 36(block) 0 "dir"
|
||||
MemberName 36(block) 1 "origin"
|
||||
MemberName 36(block) 2 "i"
|
||||
MemberName 36(block) 3 "aHandle32"
|
||||
MemberName 36(block) 4 "aHandle64"
|
||||
Name 38 ""
|
||||
Name 61 "payload"
|
||||
Name 65 "accEXT1"
|
||||
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
|
||||
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
|
||||
Decorate 30(accEXT0) DescriptorSet 0
|
||||
Decorate 30(accEXT0) Binding 0
|
||||
MemberDecorate 34(block) 0 Offset 0
|
||||
MemberDecorate 34(block) 1 Offset 16
|
||||
MemberDecorate 34(block) 2 Offset 28
|
||||
Decorate 34(block) Block
|
||||
Decorate 36 DescriptorSet 0
|
||||
Decorate 36 Binding 2
|
||||
Decorate 60(accEXT1) DescriptorSet 0
|
||||
Decorate 60(accEXT1) Binding 1
|
||||
Decorate 75 DecorationNonUniformEXT
|
||||
Decorate 76 DecorationNonUniformEXT
|
||||
Decorate 77 DecorationNonUniformEXT
|
||||
Decorate 88(payload) Location 0
|
||||
MemberDecorate 36(block) 0 Offset 0
|
||||
MemberDecorate 36(block) 1 Offset 16
|
||||
MemberDecorate 36(block) 2 Offset 28
|
||||
MemberDecorate 36(block) 3 Offset 32
|
||||
MemberDecorate 36(block) 4 Offset 40
|
||||
Decorate 36(block) Block
|
||||
Decorate 38 DescriptorSet 0
|
||||
Decorate 38 Binding 2
|
||||
Decorate 61(payload) Location 1
|
||||
Decorate 65(accEXT1) DescriptorSet 0
|
||||
Decorate 65(accEXT1) Binding 1
|
||||
Decorate 80 DecorationNonUniformEXT
|
||||
Decorate 81 DecorationNonUniformEXT
|
||||
Decorate 82 DecorationNonUniformEXT
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
|
@ -63,24 +69,30 @@ spv.ext.RayGenShaderArray.rgen
|
|||
31: TypeFloat 32
|
||||
32: TypeVector 31(float) 3
|
||||
33: TypeInt 32 1
|
||||
34(block): TypeStruct 32(fvec3) 32(fvec3) 33(int)
|
||||
35: TypePointer ShaderRecordBufferKHR 34(block)
|
||||
36: 35(ptr) Variable ShaderRecordBufferKHR
|
||||
37: 33(int) Constant 2
|
||||
38: TypePointer ShaderRecordBufferKHR 33(int)
|
||||
41: TypePointer UniformConstant 27
|
||||
48: 33(int) Constant 1
|
||||
49: TypePointer ShaderRecordBufferKHR 32(fvec3)
|
||||
52: 31(float) Constant 1056964608
|
||||
53: 33(int) Constant 0
|
||||
56: 31(float) Constant 1061158912
|
||||
57: 6(int) Constant 2
|
||||
58: TypeArray 27 57
|
||||
59: TypePointer UniformConstant 58
|
||||
60(accEXT1): 59(ptr) Variable UniformConstant
|
||||
86: TypeVector 31(float) 4
|
||||
87: TypePointer RayPayloadKHR 86(fvec4)
|
||||
88(payload): 87(ptr) Variable RayPayloadKHR
|
||||
34: TypeVector 6(int) 2
|
||||
35: TypeInt 64 0
|
||||
36(block): TypeStruct 32(fvec3) 32(fvec3) 33(int) 34(ivec2) 35(int64_t)
|
||||
37: TypePointer ShaderRecordBufferKHR 36(block)
|
||||
38: 37(ptr) Variable ShaderRecordBufferKHR
|
||||
39: 33(int) Constant 2
|
||||
40: TypePointer ShaderRecordBufferKHR 33(int)
|
||||
43: TypePointer UniformConstant 27
|
||||
50: 33(int) Constant 1
|
||||
51: TypePointer ShaderRecordBufferKHR 32(fvec3)
|
||||
54: 31(float) Constant 1056964608
|
||||
55: 33(int) Constant 0
|
||||
58: 31(float) Constant 1061158912
|
||||
59: TypeVector 31(float) 4
|
||||
60: TypePointer RayPayloadKHR 59(fvec4)
|
||||
61(payload): 60(ptr) Variable RayPayloadKHR
|
||||
62: 6(int) Constant 2
|
||||
63: TypeArray 27 62
|
||||
64: TypePointer UniformConstant 63
|
||||
65(accEXT1): 64(ptr) Variable UniformConstant
|
||||
91: 33(int) Constant 3
|
||||
92: TypePointer ShaderRecordBufferKHR 34(ivec2)
|
||||
104: 33(int) Constant 4
|
||||
105: TypePointer ShaderRecordBufferKHR 35(int64_t)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(lx): 7(ptr) Variable Function
|
||||
|
|
@ -99,45 +111,69 @@ spv.ext.RayGenShaderArray.rgen
|
|||
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
|
||||
26: 6(int) Load 25
|
||||
Store 24(sy) 26
|
||||
39: 38(ptr) AccessChain 36 37
|
||||
40: 33(int) Load 39
|
||||
42: 41(ptr) AccessChain 30(accEXT0) 40
|
||||
43: 27 Load 42
|
||||
44: 6(int) Load 8(lx)
|
||||
45: 6(int) Load 16(ly)
|
||||
46: 6(int) Load 20(sx)
|
||||
47: 6(int) Load 24(sy)
|
||||
50: 49(ptr) AccessChain 36 48
|
||||
51: 32(fvec3) Load 50
|
||||
54: 49(ptr) AccessChain 36 53
|
||||
55: 32(fvec3) Load 54
|
||||
TraceRayKHR 43 44 45 46 47 12 51 52 55 56 48
|
||||
61: 38(ptr) AccessChain 36 37
|
||||
62: 33(int) Load 61
|
||||
63: 41(ptr) AccessChain 60(accEXT1) 62
|
||||
64: 27 Load 63
|
||||
65: 6(int) Load 8(lx)
|
||||
66: 6(int) Load 16(ly)
|
||||
67: 6(int) Load 20(sx)
|
||||
68: 6(int) Load 24(sy)
|
||||
69: 49(ptr) AccessChain 36 48
|
||||
70: 32(fvec3) Load 69
|
||||
71: 49(ptr) AccessChain 36 53
|
||||
72: 32(fvec3) Load 71
|
||||
TraceRayKHR 64 65 66 67 68 12 70 52 72 56 48
|
||||
73: 38(ptr) AccessChain 36 37
|
||||
74: 33(int) Load 73
|
||||
75: 33(int) CopyObject 74
|
||||
76: 41(ptr) AccessChain 30(accEXT0) 75
|
||||
77: 27 Load 76
|
||||
78: 6(int) Load 8(lx)
|
||||
79: 6(int) Load 16(ly)
|
||||
80: 6(int) Load 20(sx)
|
||||
81: 6(int) Load 24(sy)
|
||||
82: 49(ptr) AccessChain 36 48
|
||||
83: 32(fvec3) Load 82
|
||||
84: 49(ptr) AccessChain 36 53
|
||||
85: 32(fvec3) Load 84
|
||||
TraceRayKHR 77 78 79 80 81 12 83 52 85 56 48
|
||||
41: 40(ptr) AccessChain 38 39
|
||||
42: 33(int) Load 41
|
||||
44: 43(ptr) AccessChain 30(accEXT0) 42
|
||||
45: 27 Load 44
|
||||
46: 6(int) Load 8(lx)
|
||||
47: 6(int) Load 16(ly)
|
||||
48: 6(int) Load 20(sx)
|
||||
49: 6(int) Load 24(sy)
|
||||
52: 51(ptr) AccessChain 38 50
|
||||
53: 32(fvec3) Load 52
|
||||
56: 51(ptr) AccessChain 38 55
|
||||
57: 32(fvec3) Load 56
|
||||
TraceRayKHR 45 46 47 48 49 12 53 54 57 58 61(payload)
|
||||
66: 40(ptr) AccessChain 38 39
|
||||
67: 33(int) Load 66
|
||||
68: 43(ptr) AccessChain 65(accEXT1) 67
|
||||
69: 27 Load 68
|
||||
70: 6(int) Load 8(lx)
|
||||
71: 6(int) Load 16(ly)
|
||||
72: 6(int) Load 20(sx)
|
||||
73: 6(int) Load 24(sy)
|
||||
74: 51(ptr) AccessChain 38 50
|
||||
75: 32(fvec3) Load 74
|
||||
76: 51(ptr) AccessChain 38 55
|
||||
77: 32(fvec3) Load 76
|
||||
TraceRayKHR 69 70 71 72 73 12 75 54 77 58 61(payload)
|
||||
78: 40(ptr) AccessChain 38 39
|
||||
79: 33(int) Load 78
|
||||
80: 33(int) CopyObject 79
|
||||
81: 43(ptr) AccessChain 30(accEXT0) 80
|
||||
82: 27 Load 81
|
||||
83: 6(int) Load 8(lx)
|
||||
84: 6(int) Load 16(ly)
|
||||
85: 6(int) Load 20(sx)
|
||||
86: 6(int) Load 24(sy)
|
||||
87: 51(ptr) AccessChain 38 50
|
||||
88: 32(fvec3) Load 87
|
||||
89: 51(ptr) AccessChain 38 55
|
||||
90: 32(fvec3) Load 89
|
||||
TraceRayKHR 82 83 84 85 86 12 88 54 90 58 61(payload)
|
||||
93: 92(ptr) AccessChain 38 91
|
||||
94: 34(ivec2) Load 93
|
||||
95: 27 ConvertUToAccelerationStructureKHR 94
|
||||
96: 6(int) Load 8(lx)
|
||||
97: 6(int) Load 16(ly)
|
||||
98: 6(int) Load 20(sx)
|
||||
99: 6(int) Load 24(sy)
|
||||
100: 51(ptr) AccessChain 38 50
|
||||
101: 32(fvec3) Load 100
|
||||
102: 51(ptr) AccessChain 38 55
|
||||
103: 32(fvec3) Load 102
|
||||
TraceRayKHR 95 96 97 98 99 12 101 54 103 58 61(payload)
|
||||
106: 105(ptr) AccessChain 38 104
|
||||
107: 35(int64_t) Load 106
|
||||
108: 27 ConvertUToAccelerationStructureKHR 107
|
||||
109: 6(int) Load 8(lx)
|
||||
110: 6(int) Load 16(ly)
|
||||
111: 6(int) Load 20(sx)
|
||||
112: 6(int) Load 24(sy)
|
||||
113: 51(ptr) AccessChain 38 50
|
||||
114: 32(fvec3) Load 113
|
||||
115: 51(ptr) AccessChain 38 55
|
||||
116: 32(fvec3) Load 115
|
||||
TraceRayKHR 108 109 110 111 112 12 114 54 116 58 61(payload)
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue