1spv.nv.hitobject-allops.rchit 2// Module Version 10400 3// Generated by (magic number): 8000b 4// Id's are bound by 116 5 6 Capability RayTracingKHR 7 Capability ShaderInvocationReorderNV 8 Extension "SPV_KHR_ray_tracing" 9 Extension "SPV_NV_shader_invocation_reorder" 10 1: ExtInstImport "GLSL.std.450" 11 MemoryModel Logical GLSL450 12 EntryPoint ClosestHitKHR 4 "main" 9 14 22 25 36 42 48 52 53 64 13 Source GLSL 460 14 SourceExtension "GL_EXT_ray_tracing" 15 SourceExtension "GL_NV_ray_tracing_motion_blur" 16 SourceExtension "GL_NV_shader_invocation_reorder" 17 Name 4 "main" 18 Name 9 "attr" 19 Name 12 "hBlock" 20 MemberName 12(hBlock) 0 "attrval" 21 Name 14 "" 22 Name 22 "hObj" 23 Name 25 "as" 24 Name 36 "payload" 25 Name 40 "pBlock" 26 MemberName 40(pBlock) 0 "val1" 27 MemberName 40(pBlock) 1 "val2" 28 Name 42 "" 29 Name 48 "hObjHit" 30 Name 52 "hObjNop" 31 Name 53 "hObjMiss" 32 Name 62 "block" 33 MemberName 62(block) 0 "op" 34 Name 64 "" 35 Name 79 "tmin" 36 Name 81 "tmax" 37 Name 84 "orig" 38 Name 86 "dir" 39 Name 88 "oorig" 40 Name 90 "odir" 41 Name 94 "otw" 42 Name 96 "wto" 43 Name 99 "cid" 44 Name 101 "iid" 45 Name 103 "pid" 46 Name 105 "gid" 47 Name 108 "hkind" 48 Name 112 "handle" 49 Name 114 "rid" 50 Decorate 12(hBlock) Block 51 Decorate 25(as) Binding 0 52 Decorate 25(as) DescriptorSet 0 53 Decorate 40(pBlock) Block 54 Decorate 62(block) Block 55 MemberDecorate 62(block) 0 Offset 0 56 Decorate 64 Binding 1 57 Decorate 64 DescriptorSet 0 58 2: TypeVoid 59 3: TypeFunction 2 60 6: TypeFloat 32 61 7: TypeVector 6(float) 2 62 8: TypePointer HitObjectAttributeNV 7(fvec2) 63 9(attr): 8(ptr) Variable HitObjectAttributeNV 64 10: 6(float) Constant 1065353216 65 11: 7(fvec2) ConstantComposite 10 10 66 12(hBlock): TypeStruct 6(float) 67 13: TypePointer HitObjectAttributeNV 12(hBlock) 68 14: 13(ptr) Variable HitObjectAttributeNV 69 15: TypeInt 32 1 70 16: 15(int) Constant 0 71 17: 6(float) Constant 1073741824 72 18: TypePointer HitObjectAttributeNV 6(float) 73 20: TypeHitObjectNV 74 21: TypePointer Private 20 75 22(hObj): 21(ptr) Variable Private 76 23: TypeAccelerationStructureKHR 77 24: TypePointer UniformConstant 23 78 25(as): 24(ptr) Variable UniformConstant 79 27: TypeInt 32 0 80 28: 27(int) Constant 1 81 29: TypeVector 6(float) 3 82 30: 6(float) Constant 1056964608 83 31: 29(fvec3) ConstantComposite 30 30 30 84 32: 29(fvec3) ConstantComposite 10 10 10 85 33: 15(int) Constant 1 86 34: TypeVector 6(float) 4 87 35: TypePointer RayPayloadKHR 34(fvec4) 88 36(payload): 35(ptr) Variable RayPayloadKHR 89 38: 6(float) Constant 1092616192 90 39: 15(int) Constant 2 91 40(pBlock): TypeStruct 7(fvec2) 7(fvec2) 92 41: TypePointer RayPayloadKHR 40(pBlock) 93 42: 41(ptr) Variable RayPayloadKHR 94 44: 27(int) Constant 2 95 45: 29(fvec3) ConstantComposite 17 17 17 96 47: 6(float) Constant 1082130432 97 48(hObjHit): 21(ptr) Variable Private 98 50: 15(int) Constant 3 99 52(hObjNop): 21(ptr) Variable Private 100 53(hObjMiss): 21(ptr) Variable Private 101 54: 6(float) Constant 1069547520 102 55: 29(fvec3) ConstantComposite 54 54 54 103 56: 6(float) Constant 1084227584 104 57: 6(float) Constant 1090519040 105 58: TypeBool 106 62(block): TypeStruct 6(float) 107 63: TypePointer StorageBuffer 62(block) 108 64: 63(ptr) Variable StorageBuffer 109 65: TypePointer StorageBuffer 6(float) 110 76: 6(float) Constant 1077936128 111 78: TypePointer Function 6(float) 112 83: TypePointer Function 29(fvec3) 113 92: TypeMatrix 29(fvec3) 4 114 93: TypePointer Function 92 115 98: TypePointer Function 15(int) 116 107: TypePointer Function 27(int) 117 110: TypeVector 27(int) 2 118 111: TypePointer Function 110(ivec2) 119 4(main): 2 Function None 3 120 5: Label 121 79(tmin): 78(ptr) Variable Function 122 81(tmax): 78(ptr) Variable Function 123 84(orig): 83(ptr) Variable Function 124 86(dir): 83(ptr) Variable Function 125 88(oorig): 83(ptr) Variable Function 126 90(odir): 83(ptr) Variable Function 127 94(otw): 93(ptr) Variable Function 128 96(wto): 93(ptr) Variable Function 129 99(cid): 98(ptr) Variable Function 130 101(iid): 98(ptr) Variable Function 131 103(pid): 98(ptr) Variable Function 132 105(gid): 98(ptr) Variable Function 133 108(hkind): 107(ptr) Variable Function 134 112(handle): 111(ptr) Variable Function 135 114(rid): 107(ptr) Variable Function 136 Store 9(attr) 11 137 19: 18(ptr) AccessChain 14 16 138 Store 19 17 139 26: 23 Load 25(as) 140 HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload) 141 37: 23 Load 25(as) 142 HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42 143 43: 23 Load 25(as) 144 HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr) 145 46: 23 Load 25(as) 146 HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr) 147 49: 23 Load 25(as) 148 HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14 149 51: 23 Load 25(as) 150 HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14 151 HitObjectRecordEmptyNV 52(hObjNop) 152 HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56 153 HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57 154 HitObjectExecuteShaderNV 48(hObjHit) 42 155 59: 58(bool) HitObjectIsHitNV 22(hObj) 156 SelectionMerge 61 None 157 BranchConditional 59 60 67 158 60: Label 159 66: 65(ptr) AccessChain 64 16 160 Store 66 10 161 Branch 61 162 67: Label 163 68: 58(bool) HitObjectIsMissNV 22(hObj) 164 SelectionMerge 70 None 165 BranchConditional 68 69 72 166 69: Label 167 71: 65(ptr) AccessChain 64 16 168 Store 71 17 169 Branch 70 170 72: Label 171 73: 58(bool) HitObjectIsEmptyNV 22(hObj) 172 SelectionMerge 75 None 173 BranchConditional 73 74 75 174 74: Label 175 77: 65(ptr) AccessChain 64 16 176 Store 77 76 177 Branch 75 178 75: Label 179 Branch 70 180 70: Label 181 Branch 61 182 61: Label 183 80: 6(float) HitObjectGetRayTMinNV 48(hObjHit) 184 Store 79(tmin) 80 185 82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit) 186 Store 81(tmax) 82 187 85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit) 188 Store 84(orig) 85 189 87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit) 190 Store 86(dir) 87 191 89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit) 192 Store 88(oorig) 89 193 91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit) 194 Store 90(odir) 91 195 95: 92 HitObjectGetObjectToWorldNV 48(hObjHit) 196 Store 94(otw) 95 197 97: 92 HitObjectGetWorldToObjectNV 48(hObjHit) 198 Store 96(wto) 97 199 100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss) 200 Store 99(cid) 100 201 102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop) 202 Store 101(iid) 102 203 104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj) 204 Store 103(pid) 104 205 106: 15(int) HitObjectGetGeometryIndexNV 22(hObj) 206 Store 105(gid) 106 207 109: 27(int) HitObjectGetFrontFaceNV 22(hObj) 208 Store 108(hkind) 109 209 HitObjectGetAttributesNV 22(hObj) 9(attr) 210 113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj) 211 Store 112(handle) 113 212 115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj) 213 Store 114(rid) 115 214 Return 215 FunctionEnd 216