spv.nv.hitobject-allops.rgen
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 117

                              Capability RayTracingKHR
                              Capability ShaderInvocationReorderNV
                              Extension  "SPV_KHR_ray_tracing"
                              Extension  "SPV_NV_shader_invocation_reorder"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main" 9 14 22 25 36 42 48 52 53 64
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_tracing"
                              SourceExtension  "GL_NV_ray_tracing_motion_blur"
                              SourceExtension  "GL_NV_shader_invocation_reorder"
                              Name 4  "main"
                              Name 9  "attr"
                              Name 12  "hBlock"
                              MemberName 12(hBlock) 0  "attrval"
                              Name 14  ""
                              Name 22  "hObj"
                              Name 25  "as"
                              Name 36  "payload"
                              Name 40  "pBlock"
                              MemberName 40(pBlock) 0  "val1"
                              MemberName 40(pBlock) 1  "val2"
                              Name 42  ""
                              Name 48  "hObjHit"
                              Name 52  "hObjNop"
                              Name 53  "hObjMiss"
                              Name 62  "block"
                              MemberName 62(block) 0  "op"
                              Name 64  ""
                              Name 79  "tmin"
                              Name 81  "tmax"
                              Name 84  "orig"
                              Name 86  "dir"
                              Name 88  "oorig"
                              Name 90  "odir"
                              Name 94  "otw"
                              Name 96  "wto"
                              Name 99  "cid"
                              Name 101  "iid"
                              Name 103  "pid"
                              Name 105  "gid"
                              Name 108  "hkind"
                              Name 112  "handle"
                              Name 114  "rid"
                              Decorate 12(hBlock) Block
                              Decorate 25(as) DescriptorSet 0
                              Decorate 25(as) Binding 0
                              Decorate 40(pBlock) Block
                              MemberDecorate 62(block) 0 Offset 0
                              Decorate 62(block) Block
                              Decorate 64 DescriptorSet 0
                              Decorate 64 Binding 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 2
               8:             TypePointer HitObjectAttributeNV 7(fvec2)
         9(attr):      8(ptr) Variable HitObjectAttributeNV
              10:    6(float) Constant 1065353216
              11:    7(fvec2) ConstantComposite 10 10
      12(hBlock):             TypeStruct 6(float)
              13:             TypePointer HitObjectAttributeNV 12(hBlock)
              14:     13(ptr) Variable HitObjectAttributeNV
              15:             TypeInt 32 1
              16:     15(int) Constant 0
              17:    6(float) Constant 1073741824
              18:             TypePointer HitObjectAttributeNV 6(float)
              20:             TypeHitObjectNV
              21:             TypePointer Private 20
        22(hObj):     21(ptr) Variable Private
              23:             TypeAccelerationStructureKHR
              24:             TypePointer UniformConstant 23
          25(as):     24(ptr) Variable UniformConstant
              27:             TypeInt 32 0
              28:     27(int) Constant 1
              29:             TypeVector 6(float) 3
              30:    6(float) Constant 1056964608
              31:   29(fvec3) ConstantComposite 30 30 30
              32:   29(fvec3) ConstantComposite 10 10 10
              33:     15(int) Constant 1
              34:             TypeVector 6(float) 4
              35:             TypePointer RayPayloadKHR 34(fvec4)
     36(payload):     35(ptr) Variable RayPayloadKHR
              38:    6(float) Constant 1092616192
              39:     15(int) Constant 2
      40(pBlock):             TypeStruct 7(fvec2) 7(fvec2)
              41:             TypePointer RayPayloadKHR 40(pBlock)
              42:     41(ptr) Variable RayPayloadKHR
              44:     27(int) Constant 2
              45:   29(fvec3) ConstantComposite 17 17 17
              47:    6(float) Constant 1082130432
     48(hObjHit):     21(ptr) Variable Private
              50:     15(int) Constant 3
     52(hObjNop):     21(ptr) Variable Private
    53(hObjMiss):     21(ptr) Variable Private
              54:    6(float) Constant 1069547520
              55:   29(fvec3) ConstantComposite 54 54 54
              56:    6(float) Constant 1084227584
              57:    6(float) Constant 1090519040
              58:             TypeBool
       62(block):             TypeStruct 6(float)
              63:             TypePointer StorageBuffer 62(block)
              64:     63(ptr) Variable StorageBuffer
              65:             TypePointer StorageBuffer 6(float)
              76:    6(float) Constant 1077936128
              78:             TypePointer Function 6(float)
              83:             TypePointer Function 29(fvec3)
              92:             TypeMatrix 29(fvec3) 4
              93:             TypePointer Function 92
              98:             TypePointer Function 15(int)
             107:             TypePointer Function 27(int)
             110:             TypeVector 27(int) 2
             111:             TypePointer Function 110(ivec2)
             116:     27(int) Constant 4
         4(main):           2 Function None 3
               5:             Label
        79(tmin):     78(ptr) Variable Function
        81(tmax):     78(ptr) Variable Function
        84(orig):     83(ptr) Variable Function
         86(dir):     83(ptr) Variable Function
       88(oorig):     83(ptr) Variable Function
        90(odir):     83(ptr) Variable Function
         94(otw):     93(ptr) Variable Function
         96(wto):     93(ptr) Variable Function
         99(cid):     98(ptr) Variable Function
        101(iid):     98(ptr) Variable Function
        103(pid):     98(ptr) Variable Function
        105(gid):     98(ptr) Variable Function
      108(hkind):    107(ptr) Variable Function
     112(handle):    111(ptr) Variable Function
        114(rid):    107(ptr) Variable Function
                              Store 9(attr) 11
              19:     18(ptr) AccessChain 14 16
                              Store 19 17
              26:          23 Load 25(as)
                              HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
              37:          23 Load 25(as)
                              HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
              43:          23 Load 25(as)
                              HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
              46:          23 Load 25(as)
                              HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
              49:          23 Load 25(as)
                              HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
              51:          23 Load 25(as)
                              HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
                              HitObjectRecordEmptyNV 52(hObjNop)
                              HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
                              HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
                              HitObjectExecuteShaderNV 48(hObjHit) 36(payload)
              59:    58(bool) HitObjectIsHitNV 22(hObj)
                              SelectionMerge 61 None
                              BranchConditional 59 60 67
              60:               Label
              66:     65(ptr)   AccessChain 64 16
                                Store 66 10
                                Branch 61
              67:               Label
              68:    58(bool)   HitObjectIsMissNV 22(hObj)
                                SelectionMerge 70 None
                                BranchConditional 68 69 72
              69:                 Label
              71:     65(ptr)     AccessChain 64 16
                                  Store 71 17
                                  Branch 70
              72:                 Label
              73:    58(bool)     HitObjectIsEmptyNV 22(hObj)
                                  SelectionMerge 75 None
                                  BranchConditional 73 74 75
              74:                   Label
              77:     65(ptr)       AccessChain 64 16
                                    Store 77 76
                                    Branch 75
              75:                 Label
                                  Branch 70
              70:               Label
                                Branch 61
              61:             Label
              80:    6(float) HitObjectGetRayTMinNV 48(hObjHit)
                              Store 79(tmin) 80
              82:    6(float) HitObjectGetRayTMaxNV 48(hObjHit)
                              Store 81(tmax) 82
              85:   29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
                              Store 84(orig) 85
              87:   29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
                              Store 86(dir) 87
              89:   29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
                              Store 88(oorig) 89
              91:   29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
                              Store 90(odir) 91
              95:          92 HitObjectGetObjectToWorldNV 48(hObjHit)
                              Store 94(otw) 95
              97:          92 HitObjectGetWorldToObjectNV 48(hObjHit)
                              Store 96(wto) 97
             100:     15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
                              Store 99(cid) 100
             102:     15(int) HitObjectGetInstanceIdNV 52(hObjNop)
                              Store 101(iid) 102
             104:     15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
                              Store 103(pid) 104
             106:     15(int) HitObjectGetGeometryIndexNV 22(hObj)
                              Store 105(gid) 106
             109:     27(int) HitObjectGetFrontFaceNV 22(hObj)
                              Store 108(hkind) 109
                              HitObjectGetAttributesNV 22(hObj) 9(attr)
             113:  110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
                              Store 112(handle) 113
             115:     27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
                              Store 114(rid) 115
                              ReorderThreadWithHintNV 116 116
                              ReorderThreadWithHitObjectNV 48(hObjHit)
                              ReorderThreadWithHitObjectNV 48(hObjHit) 116 44
                              Return
                              FunctionEnd
