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:
114
Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
Normal file
114
Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
Normal file
@@ -0,0 +1,114 @@
|
||||
spv.ext.ClosestHitShader_Subgroup.rchit
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 67
|
||||
|
||||
Capability Int64
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformBallot
|
||||
Capability SubgroupBallotKHR
|
||||
Capability RayTracingKHR
|
||||
Capability VulkanMemoryModelKHR
|
||||
Capability ShaderSMBuiltinsNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_KHR_shader_ballot"
|
||||
Extension "SPV_KHR_vulkan_memory_model"
|
||||
Extension "SPV_NV_shader_sm_builtins"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical VulkanKHR
|
||||
EntryPoint ClosestHitKHR 4 "main" 8 26 28 34 43 48 53 61
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_ARB_shader_ballot"
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_KHR_shader_subgroup_ballot"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
SourceExtension "GL_NV_shader_sm_builtins"
|
||||
Name 4 "main"
|
||||
Name 8 "accEXT"
|
||||
Name 26 "incomingPayload"
|
||||
Name 28 "gl_SubgroupInvocationID"
|
||||
Name 34 "gl_SubGroupGeMaskARB"
|
||||
Name 43 "gl_SubgroupGtMask"
|
||||
Name 48 "gl_SubgroupLeMask"
|
||||
Name 53 "gl_SubGroupLtMaskARB"
|
||||
Name 61 "gl_SMIDNV"
|
||||
Decorate 8(accEXT) DescriptorSet 0
|
||||
Decorate 8(accEXT) Binding 0
|
||||
Decorate 26(incomingPayload) Location 1
|
||||
Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 29 RelaxedPrecision
|
||||
Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
|
||||
Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
|
||||
Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
|
||||
Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
|
||||
Decorate 61(gl_SMIDNV) BuiltIn SMIDNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeAccelerationStructureKHR
|
||||
7: TypePointer UniformConstant 6
|
||||
8(accEXT): 7(ptr) Variable UniformConstant
|
||||
10: TypeInt 32 0
|
||||
11: 10(int) Constant 0
|
||||
12: 10(int) Constant 1
|
||||
13: 10(int) Constant 2
|
||||
14: 10(int) Constant 3
|
||||
15: TypeFloat 32
|
||||
16: TypeVector 15(float) 3
|
||||
17: 15(float) Constant 1056964608
|
||||
18: 16(fvec3) ConstantComposite 17 17 17
|
||||
19: 15(float) Constant 1065353216
|
||||
20: 16(fvec3) ConstantComposite 19 19 19
|
||||
21: 15(float) Constant 1061158912
|
||||
22: TypeInt 32 1
|
||||
23: 22(int) Constant 1
|
||||
24: TypeVector 15(float) 4
|
||||
25: TypePointer IncomingRayPayloadKHR 24(fvec4)
|
||||
26(incomingPayload): 25(ptr) Variable IncomingRayPayloadKHR
|
||||
27: TypePointer Input 10(int)
|
||||
28(gl_SubgroupInvocationID): 27(ptr) Variable Input
|
||||
31: TypeVector 10(int) 4
|
||||
32: TypeInt 64 0
|
||||
33: TypePointer Input 31(ivec4)
|
||||
34(gl_SubGroupGeMaskARB): 33(ptr) Variable Input
|
||||
38: TypeVector 10(int) 2
|
||||
43(gl_SubgroupGtMask): 33(ptr) Variable Input
|
||||
48(gl_SubgroupLeMask): 33(ptr) Variable Input
|
||||
53(gl_SubGroupLtMaskARB): 33(ptr) Variable Input
|
||||
61(gl_SMIDNV): 27(ptr) Variable Input
|
||||
65: TypePointer IncomingRayPayloadKHR 15(float)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9: 6 Load 8(accEXT)
|
||||
TraceRayKHR 9 11 12 13 14 11 18 17 20 21 26(incomingPayload)
|
||||
29: 10(int) Load 28(gl_SubgroupInvocationID) Volatile
|
||||
30: 15(float) ConvertUToF 29
|
||||
35: 31(ivec4) Load 34(gl_SubGroupGeMaskARB)
|
||||
36: 10(int) CompositeExtract 35 0
|
||||
37: 10(int) CompositeExtract 35 1
|
||||
39: 38(ivec2) CompositeConstruct 36 37
|
||||
40: 32(int64_t) Bitcast 39
|
||||
41: 15(float) ConvertUToF 40
|
||||
42: 15(float) FAdd 30 41
|
||||
44: 31(ivec4) Load 43(gl_SubgroupGtMask) Volatile
|
||||
45: 24(fvec4) ConvertUToF 44
|
||||
46: 15(float) CompositeExtract 45 0
|
||||
47: 15(float) FAdd 42 46
|
||||
49: 31(ivec4) Load 48(gl_SubgroupLeMask) Volatile
|
||||
50: 24(fvec4) ConvertUToF 49
|
||||
51: 15(float) CompositeExtract 50 0
|
||||
52: 15(float) FAdd 47 51
|
||||
54: 31(ivec4) Load 53(gl_SubGroupLtMaskARB)
|
||||
55: 10(int) CompositeExtract 54 0
|
||||
56: 10(int) CompositeExtract 54 1
|
||||
57: 38(ivec2) CompositeConstruct 55 56
|
||||
58: 32(int64_t) Bitcast 57
|
||||
59: 15(float) ConvertUToF 58
|
||||
60: 15(float) FAdd 52 59
|
||||
62: 10(int) Load 61(gl_SMIDNV) Volatile
|
||||
63: 15(float) ConvertUToF 62
|
||||
64: 15(float) FAdd 60 63
|
||||
66: 65(ptr) AccessChain 26(incomingPayload) 11
|
||||
Store 66 64
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user