You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
6.1 KiB

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