1617a3babSopenharmony_cispv.ext.ClosestHitShader_Subgroup.rchit
2617a3babSopenharmony_ci// Module Version 10400
3617a3babSopenharmony_ci// Generated by (magic number): 8000b
4617a3babSopenharmony_ci// Id's are bound by 67
5617a3babSopenharmony_ci
6617a3babSopenharmony_ci                              Capability Int64
7617a3babSopenharmony_ci                              Capability GroupNonUniform
8617a3babSopenharmony_ci                              Capability GroupNonUniformBallot
9617a3babSopenharmony_ci                              Capability SubgroupBallotKHR
10617a3babSopenharmony_ci                              Capability RayTracingKHR
11617a3babSopenharmony_ci                              Capability VulkanMemoryModelKHR
12617a3babSopenharmony_ci                              Capability ShaderSMBuiltinsNV
13617a3babSopenharmony_ci                              Extension  "SPV_KHR_ray_tracing"
14617a3babSopenharmony_ci                              Extension  "SPV_KHR_shader_ballot"
15617a3babSopenharmony_ci                              Extension  "SPV_KHR_vulkan_memory_model"
16617a3babSopenharmony_ci                              Extension  "SPV_NV_shader_sm_builtins"
17617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
18617a3babSopenharmony_ci                              MemoryModel Logical VulkanKHR
19617a3babSopenharmony_ci                              EntryPoint ClosestHitKHR 4  "main" 8 26 28 34 43 48 53 61
20617a3babSopenharmony_ci                              Source GLSL 460
21617a3babSopenharmony_ci                              SourceExtension  "GL_ARB_shader_ballot"
22617a3babSopenharmony_ci                              SourceExtension  "GL_EXT_ray_tracing"
23617a3babSopenharmony_ci                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
24617a3babSopenharmony_ci                              SourceExtension  "GL_KHR_shader_subgroup_basic"
25617a3babSopenharmony_ci                              SourceExtension  "GL_NV_shader_sm_builtins"
26617a3babSopenharmony_ci                              Name 4  "main"
27617a3babSopenharmony_ci                              Name 8  "accEXT"
28617a3babSopenharmony_ci                              Name 26  "incomingPayload"
29617a3babSopenharmony_ci                              Name 28  "gl_SubgroupInvocationID"
30617a3babSopenharmony_ci                              Name 34  "gl_SubGroupGeMaskARB"
31617a3babSopenharmony_ci                              Name 43  "gl_SubgroupGtMask"
32617a3babSopenharmony_ci                              Name 48  "gl_SubgroupLeMask"
33617a3babSopenharmony_ci                              Name 53  "gl_SubGroupLtMaskARB"
34617a3babSopenharmony_ci                              Name 61  "gl_SMIDNV"
35617a3babSopenharmony_ci                              Decorate 8(accEXT) DescriptorSet 0
36617a3babSopenharmony_ci                              Decorate 8(accEXT) Binding 0
37617a3babSopenharmony_ci                              Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision
38617a3babSopenharmony_ci                              Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
39617a3babSopenharmony_ci                              Decorate 29 RelaxedPrecision
40617a3babSopenharmony_ci                              Decorate 30 RelaxedPrecision
41617a3babSopenharmony_ci                              Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
42617a3babSopenharmony_ci                              Decorate 41 RelaxedPrecision
43617a3babSopenharmony_ci                              Decorate 42 RelaxedPrecision
44617a3babSopenharmony_ci                              Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
45617a3babSopenharmony_ci                              Decorate 46 RelaxedPrecision
46617a3babSopenharmony_ci                              Decorate 46 RelaxedPrecision
47617a3babSopenharmony_ci                              Decorate 47 RelaxedPrecision
48617a3babSopenharmony_ci                              Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
49617a3babSopenharmony_ci                              Decorate 51 RelaxedPrecision
50617a3babSopenharmony_ci                              Decorate 51 RelaxedPrecision
51617a3babSopenharmony_ci                              Decorate 52 RelaxedPrecision
52617a3babSopenharmony_ci                              Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
53617a3babSopenharmony_ci                              Decorate 59 RelaxedPrecision
54617a3babSopenharmony_ci                              Decorate 60 RelaxedPrecision
55617a3babSopenharmony_ci                              Decorate 61(gl_SMIDNV) BuiltIn SMIDNV
56617a3babSopenharmony_ci               2:             TypeVoid
57617a3babSopenharmony_ci               3:             TypeFunction 2
58617a3babSopenharmony_ci               6:             TypeAccelerationStructureKHR
59617a3babSopenharmony_ci               7:             TypePointer UniformConstant 6
60617a3babSopenharmony_ci       8(accEXT):      7(ptr) Variable UniformConstant
61617a3babSopenharmony_ci              10:             TypeInt 32 0
62617a3babSopenharmony_ci              11:     10(int) Constant 0
63617a3babSopenharmony_ci              12:     10(int) Constant 1
64617a3babSopenharmony_ci              13:     10(int) Constant 2
65617a3babSopenharmony_ci              14:     10(int) Constant 3
66617a3babSopenharmony_ci              15:             TypeFloat 32
67617a3babSopenharmony_ci              16:             TypeVector 15(float) 3
68617a3babSopenharmony_ci              17:   15(float) Constant 1056964608
69617a3babSopenharmony_ci              18:   16(fvec3) ConstantComposite 17 17 17
70617a3babSopenharmony_ci              19:   15(float) Constant 1065353216
71617a3babSopenharmony_ci              20:   16(fvec3) ConstantComposite 19 19 19
72617a3babSopenharmony_ci              21:   15(float) Constant 1061158912
73617a3babSopenharmony_ci              22:             TypeInt 32 1
74617a3babSopenharmony_ci              23:     22(int) Constant 1
75617a3babSopenharmony_ci              24:             TypeVector 15(float) 4
76617a3babSopenharmony_ci              25:             TypePointer IncomingRayPayloadKHR 24(fvec4)
77617a3babSopenharmony_ci26(incomingPayload):     25(ptr) Variable IncomingRayPayloadKHR
78617a3babSopenharmony_ci              27:             TypePointer Input 10(int)
79617a3babSopenharmony_ci28(gl_SubgroupInvocationID):     27(ptr) Variable Input
80617a3babSopenharmony_ci              31:             TypeVector 10(int) 4
81617a3babSopenharmony_ci              32:             TypeInt 64 0
82617a3babSopenharmony_ci              33:             TypePointer Input 31(ivec4)
83617a3babSopenharmony_ci34(gl_SubGroupGeMaskARB):     33(ptr) Variable Input
84617a3babSopenharmony_ci              38:             TypeVector 10(int) 2
85617a3babSopenharmony_ci43(gl_SubgroupGtMask):     33(ptr) Variable Input
86617a3babSopenharmony_ci48(gl_SubgroupLeMask):     33(ptr) Variable Input
87617a3babSopenharmony_ci53(gl_SubGroupLtMaskARB):     33(ptr) Variable Input
88617a3babSopenharmony_ci   61(gl_SMIDNV):     27(ptr) Variable Input
89617a3babSopenharmony_ci              65:             TypePointer IncomingRayPayloadKHR 15(float)
90617a3babSopenharmony_ci         4(main):           2 Function None 3
91617a3babSopenharmony_ci               5:             Label
92617a3babSopenharmony_ci               9:           6 Load 8(accEXT)
93617a3babSopenharmony_ci                              TraceRayKHR 9 11 12 13 14 11 18 17 20 21 26(incomingPayload)
94617a3babSopenharmony_ci              29:     10(int) Load 28(gl_SubgroupInvocationID) Volatile 
95617a3babSopenharmony_ci              30:   15(float) ConvertUToF 29
96617a3babSopenharmony_ci              35:   31(ivec4) Load 34(gl_SubGroupGeMaskARB)
97617a3babSopenharmony_ci              36:     10(int) CompositeExtract 35 0
98617a3babSopenharmony_ci              37:     10(int) CompositeExtract 35 1
99617a3babSopenharmony_ci              39:   38(ivec2) CompositeConstruct 36 37
100617a3babSopenharmony_ci              40: 32(int64_t) Bitcast 39
101617a3babSopenharmony_ci              41:   15(float) ConvertUToF 40
102617a3babSopenharmony_ci              42:   15(float) FAdd 30 41
103617a3babSopenharmony_ci              44:   31(ivec4) Load 43(gl_SubgroupGtMask) Volatile 
104617a3babSopenharmony_ci              45:   24(fvec4) ConvertUToF 44
105617a3babSopenharmony_ci              46:   15(float) CompositeExtract 45 0
106617a3babSopenharmony_ci              47:   15(float) FAdd 42 46
107617a3babSopenharmony_ci              49:   31(ivec4) Load 48(gl_SubgroupLeMask) Volatile 
108617a3babSopenharmony_ci              50:   24(fvec4) ConvertUToF 49
109617a3babSopenharmony_ci              51:   15(float) CompositeExtract 50 0
110617a3babSopenharmony_ci              52:   15(float) FAdd 47 51
111617a3babSopenharmony_ci              54:   31(ivec4) Load 53(gl_SubGroupLtMaskARB)
112617a3babSopenharmony_ci              55:     10(int) CompositeExtract 54 0
113617a3babSopenharmony_ci              56:     10(int) CompositeExtract 54 1
114617a3babSopenharmony_ci              57:   38(ivec2) CompositeConstruct 55 56
115617a3babSopenharmony_ci              58: 32(int64_t) Bitcast 57
116617a3babSopenharmony_ci              59:   15(float) ConvertUToF 58
117617a3babSopenharmony_ci              60:   15(float) FAdd 52 59
118617a3babSopenharmony_ci              62:     10(int) Load 61(gl_SMIDNV) Volatile 
119617a3babSopenharmony_ci              63:   15(float) ConvertUToF 62
120617a3babSopenharmony_ci              64:   15(float) FAdd 60 63
121617a3babSopenharmony_ci              66:     65(ptr) AccessChain 26(incomingPayload) 11
122617a3babSopenharmony_ci                              Store 66 64
123617a3babSopenharmony_ci                              Return
124617a3babSopenharmony_ci                              FunctionEnd
125