spv.ext.MissShader.rmiss
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 94

                              Capability MinLod
                              Capability GroupNonUniform
                              Capability GroupNonUniformBallot
                              Capability SubgroupBallotKHR
                              Capability RayTracingKHR
                              Capability ShaderSMBuiltinsNV
                              Capability RayCullMaskKHR
                              Extension  "SPV_KHR_ray_cull_mask"
                              Extension  "SPV_KHR_ray_tracing"
                              Extension  "SPV_KHR_shader_ballot"
                              Extension  "SPV_NV_shader_sm_builtins"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint MissKHR 4  "main" 11 14 21 24 29 32 37 41 56 57 62 67 78 82 89 93
                              Source GLSL 460
                              SourceExtension  "GL_ARB_shader_ballot"
                              SourceExtension  "GL_ARB_sparse_texture_clamp"
                              SourceExtension  "GL_EXT_ray_cull_mask"
                              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 9  "v0"
                              Name 11  "gl_LaunchIDEXT"
                              Name 13  "v1"
                              Name 14  "gl_LaunchSizeEXT"
                              Name 19  "v2"
                              Name 21  "gl_WorldRayOriginEXT"
                              Name 23  "v3"
                              Name 24  "gl_WorldRayDirectionEXT"
                              Name 27  "v4"
                              Name 29  "gl_RayTminEXT"
                              Name 31  "v5"
                              Name 32  "gl_RayTmaxEXT"
                              Name 35  "v6"
                              Name 37  "gl_CullMaskEXT"
                              Name 41  "accEXT"
                              Name 56  "incomingPayload"
                              Name 57  "gl_SubGroupSizeARB"
                              Name 62  "gl_SubgroupEqMask"
                              Name 67  "gl_WarpIDNV"
                              Name 74  "texel"
                              Name 78  "s2D"
                              Name 82  "c2"
                              Name 89  "lodClamp"
                              Name 93  "localPayload"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 21(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
                              Decorate 24(gl_WorldRayDirectionEXT) BuiltIn WorldRayDirectionKHR
                              Decorate 29(gl_RayTminEXT) BuiltIn RayTminKHR
                              Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
                              Decorate 37(gl_CullMaskEXT) BuiltIn CullMaskKHR
                              Decorate 41(accEXT) DescriptorSet 0
                              Decorate 41(accEXT) Binding 0
                              Decorate 57(gl_SubGroupSizeARB) BuiltIn SubgroupSize
                              Decorate 57(gl_SubGroupSizeARB) Volatile
                              Decorate 57(gl_SubGroupSizeARB) Coherent
                              Decorate 62(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
                              Decorate 62(gl_SubgroupEqMask) Volatile
                              Decorate 62(gl_SubgroupEqMask) Coherent
                              Decorate 67(gl_WarpIDNV) BuiltIn WarpIDNV
                              Decorate 67(gl_WarpIDNV) Volatile
                              Decorate 67(gl_WarpIDNV) Coherent
                              Decorate 78(s2D) DescriptorSet 0
                              Decorate 78(s2D) Binding 1
                              Decorate 82(c2) Location 2
                              Decorate 89(lodClamp) Location 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeVector 6(int) 3
               8:             TypePointer Function 7(ivec3)
              10:             TypePointer Input 7(ivec3)
11(gl_LaunchIDEXT):     10(ptr) Variable Input
14(gl_LaunchSizeEXT):     10(ptr) Variable Input
              16:             TypeFloat 32
              17:             TypeVector 16(float) 3
              18:             TypePointer Function 17(fvec3)
              20:             TypePointer Input 17(fvec3)
21(gl_WorldRayOriginEXT):     20(ptr) Variable Input
24(gl_WorldRayDirectionEXT):     20(ptr) Variable Input
              26:             TypePointer Function 16(float)
              28:             TypePointer Input 16(float)
29(gl_RayTminEXT):     28(ptr) Variable Input
32(gl_RayTmaxEXT):     28(ptr) Variable Input
              34:             TypePointer Function 6(int)
              36:             TypePointer Input 6(int)
37(gl_CullMaskEXT):     36(ptr) Variable Input
              39:             TypeAccelerationStructureKHR
              40:             TypePointer UniformConstant 39
      41(accEXT):     40(ptr) Variable UniformConstant
              43:      6(int) Constant 0
              44:      6(int) Constant 1
              45:      6(int) Constant 2
              46:      6(int) Constant 3
              47:   16(float) Constant 1056964608
              48:   17(fvec3) ConstantComposite 47 47 47
              49:   16(float) Constant 1065353216
              50:   17(fvec3) ConstantComposite 49 49 49
              51:   16(float) Constant 1061158912
              52:             TypeInt 32 1
              53:     52(int) Constant 1
              54:             TypeVector 16(float) 4
              55:             TypePointer IncomingRayPayloadKHR 54(fvec4)
56(incomingPayload):     55(ptr) Variable IncomingRayPayloadKHR
57(gl_SubGroupSizeARB):     36(ptr) Variable Input
              60:             TypeVector 6(int) 4
              61:             TypePointer Input 60(ivec4)
62(gl_SubgroupEqMask):     61(ptr) Variable Input
 67(gl_WarpIDNV):     36(ptr) Variable Input
              71:             TypePointer IncomingRayPayloadKHR 16(float)
              73:             TypePointer Function 54(fvec4)
              75:             TypeImage 16(float) 2D sampled format:Unknown
              76:             TypeSampledImage 75
              77:             TypePointer UniformConstant 76
         78(s2D):     77(ptr) Variable UniformConstant
              80:             TypeVector 16(float) 2
              81:             TypePointer Input 80(fvec2)
          82(c2):     81(ptr) Variable Input
              86:             TypeVector 52(int) 2
              87:     52(int) Constant 5
              88:   86(ivec2) ConstantComposite 87 87
    89(lodClamp):     28(ptr) Variable Input
              92:             TypePointer RayPayloadKHR 54(fvec4)
93(localPayload):     92(ptr) Variable RayPayloadKHR
         4(main):           2 Function None 3
               5:             Label
           9(v0):      8(ptr) Variable Function
          13(v1):      8(ptr) Variable Function
          19(v2):     18(ptr) Variable Function
          23(v3):     18(ptr) Variable Function
          27(v4):     26(ptr) Variable Function
          31(v5):     26(ptr) Variable Function
          35(v6):     34(ptr) Variable Function
       74(texel):     73(ptr) Variable Function
              12:    7(ivec3) Load 11(gl_LaunchIDEXT)
                              Store 9(v0) 12
              15:    7(ivec3) Load 14(gl_LaunchSizeEXT)
                              Store 13(v1) 15
              22:   17(fvec3) Load 21(gl_WorldRayOriginEXT)
                              Store 19(v2) 22
              25:   17(fvec3) Load 24(gl_WorldRayDirectionEXT)
                              Store 23(v3) 25
              30:   16(float) Load 29(gl_RayTminEXT)
                              Store 27(v4) 30
              33:   16(float) Load 32(gl_RayTmaxEXT)
                              Store 31(v5) 33
              38:      6(int) Load 37(gl_CullMaskEXT)
                              Store 35(v6) 38
              42:          39 Load 41(accEXT)
                              TraceRayKHR 42 43 44 45 46 43 48 47 50 51 56(incomingPayload)
              58:      6(int) Load 57(gl_SubGroupSizeARB)
              59:   16(float) ConvertUToF 58
              63:   60(ivec4) Load 62(gl_SubgroupEqMask)
              64:   54(fvec4) ConvertUToF 63
              65:   16(float) CompositeExtract 64 0
              66:   16(float) FAdd 59 65
              68:      6(int) Load 67(gl_WarpIDNV)
              69:   16(float) ConvertUToF 68
              70:   16(float) FAdd 66 69
              72:     71(ptr) AccessChain 56(incomingPayload) 43
                              Store 72 70
              79:          76 Load 78(s2D)
              83:   80(fvec2) Load 82(c2)
              84:   80(fvec2) Load 82(c2)
              85:   80(fvec2) Load 82(c2)
              90:   16(float) Load 89(lodClamp)
              91:   54(fvec4) ImageSampleExplicitLod 79 83 Grad ConstOffset MinLod 84 85 88 90
                              Store 74(texel) 91
                              Return
                              FunctionEnd
