• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1spv.ext.ClosestHitShader_Subgroup.rchit
2// Module Version 10400
3// Generated by (magic number): 8000b
4// Id's are bound by 67
5
6                              Capability Int64
7                              Capability GroupNonUniform
8                              Capability GroupNonUniformBallot
9                              Capability SubgroupBallotKHR
10                              Capability RayTracingKHR
11                              Capability VulkanMemoryModelKHR
12                              Capability ShaderSMBuiltinsNV
13                              Extension  "SPV_KHR_ray_tracing"
14                              Extension  "SPV_KHR_shader_ballot"
15                              Extension  "SPV_KHR_vulkan_memory_model"
16                              Extension  "SPV_NV_shader_sm_builtins"
17               1:             ExtInstImport  "GLSL.std.450"
18                              MemoryModel Logical VulkanKHR
19                              EntryPoint ClosestHitKHR 4  "main" 8 26 28 34 43 48 53 61
20                              Source GLSL 460
21                              SourceExtension  "GL_ARB_shader_ballot"
22                              SourceExtension  "GL_EXT_ray_tracing"
23                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
24                              SourceExtension  "GL_KHR_shader_subgroup_basic"
25                              SourceExtension  "GL_NV_shader_sm_builtins"
26                              Name 4  "main"
27                              Name 8  "accEXT"
28                              Name 26  "incomingPayload"
29                              Name 28  "gl_SubgroupInvocationID"
30                              Name 34  "gl_SubGroupGeMaskARB"
31                              Name 43  "gl_SubgroupGtMask"
32                              Name 48  "gl_SubgroupLeMask"
33                              Name 53  "gl_SubGroupLtMaskARB"
34                              Name 61  "gl_SMIDNV"
35                              Decorate 8(accEXT) DescriptorSet 0
36                              Decorate 8(accEXT) Binding 0
37                              Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision
38                              Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
39                              Decorate 29 RelaxedPrecision
40                              Decorate 30 RelaxedPrecision
41                              Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
42                              Decorate 41 RelaxedPrecision
43                              Decorate 42 RelaxedPrecision
44                              Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
45                              Decorate 46 RelaxedPrecision
46                              Decorate 46 RelaxedPrecision
47                              Decorate 47 RelaxedPrecision
48                              Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
49                              Decorate 51 RelaxedPrecision
50                              Decorate 51 RelaxedPrecision
51                              Decorate 52 RelaxedPrecision
52                              Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
53                              Decorate 59 RelaxedPrecision
54                              Decorate 60 RelaxedPrecision
55                              Decorate 61(gl_SMIDNV) BuiltIn SMIDNV
56               2:             TypeVoid
57               3:             TypeFunction 2
58               6:             TypeAccelerationStructureKHR
59               7:             TypePointer UniformConstant 6
60       8(accEXT):      7(ptr) Variable UniformConstant
61              10:             TypeInt 32 0
62              11:     10(int) Constant 0
63              12:     10(int) Constant 1
64              13:     10(int) Constant 2
65              14:     10(int) Constant 3
66              15:             TypeFloat 32
67              16:             TypeVector 15(float) 3
68              17:   15(float) Constant 1056964608
69              18:   16(fvec3) ConstantComposite 17 17 17
70              19:   15(float) Constant 1065353216
71              20:   16(fvec3) ConstantComposite 19 19 19
72              21:   15(float) Constant 1061158912
73              22:             TypeInt 32 1
74              23:     22(int) Constant 1
75              24:             TypeVector 15(float) 4
76              25:             TypePointer IncomingRayPayloadKHR 24(fvec4)
7726(incomingPayload):     25(ptr) Variable IncomingRayPayloadKHR
78              27:             TypePointer Input 10(int)
7928(gl_SubgroupInvocationID):     27(ptr) Variable Input
80              31:             TypeVector 10(int) 4
81              32:             TypeInt 64 0
82              33:             TypePointer Input 31(ivec4)
8334(gl_SubGroupGeMaskARB):     33(ptr) Variable Input
84              38:             TypeVector 10(int) 2
8543(gl_SubgroupGtMask):     33(ptr) Variable Input
8648(gl_SubgroupLeMask):     33(ptr) Variable Input
8753(gl_SubGroupLtMaskARB):     33(ptr) Variable Input
88   61(gl_SMIDNV):     27(ptr) Variable Input
89              65:             TypePointer IncomingRayPayloadKHR 15(float)
90         4(main):           2 Function None 3
91               5:             Label
92               9:           6 Load 8(accEXT)
93                              TraceRayKHR 9 11 12 13 14 11 18 17 20 21 26(incomingPayload)
94              29:     10(int) Load 28(gl_SubgroupInvocationID) Volatile
95              30:   15(float) ConvertUToF 29
96              35:   31(ivec4) Load 34(gl_SubGroupGeMaskARB)
97              36:     10(int) CompositeExtract 35 0
98              37:     10(int) CompositeExtract 35 1
99              39:   38(ivec2) CompositeConstruct 36 37
100              40: 32(int64_t) Bitcast 39
101              41:   15(float) ConvertUToF 40
102              42:   15(float) FAdd 30 41
103              44:   31(ivec4) Load 43(gl_SubgroupGtMask) Volatile
104              45:   24(fvec4) ConvertUToF 44
105              46:   15(float) CompositeExtract 45 0
106              47:   15(float) FAdd 42 46
107              49:   31(ivec4) Load 48(gl_SubgroupLeMask) Volatile
108              50:   24(fvec4) ConvertUToF 49
109              51:   15(float) CompositeExtract 50 0
110              52:   15(float) FAdd 47 51
111              54:   31(ivec4) Load 53(gl_SubGroupLtMaskARB)
112              55:     10(int) CompositeExtract 54 0
113              56:     10(int) CompositeExtract 54 1
114              57:   38(ivec2) CompositeConstruct 55 56
115              58: 32(int64_t) Bitcast 57
116              59:   15(float) ConvertUToF 58
117              60:   15(float) FAdd 52 59
118              62:     10(int) Load 61(gl_SMIDNV) Volatile
119              63:   15(float) ConvertUToF 62
120              64:   15(float) FAdd 60 63
121              66:     65(ptr) AccessChain 26(incomingPayload) 11
122                              Store 66 64
123                              Return
124                              FunctionEnd
125