1spv.nv.hitobject-allops.rgen 2// Module Version 10400 3// Generated by (magic number): 8000b 4// Id's are bound by 117 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 RayGenerationKHR 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 116: 27(int) Constant 4 120 4(main): 2 Function None 3 121 5: Label 122 79(tmin): 78(ptr) Variable Function 123 81(tmax): 78(ptr) Variable Function 124 84(orig): 83(ptr) Variable Function 125 86(dir): 83(ptr) Variable Function 126 88(oorig): 83(ptr) Variable Function 127 90(odir): 83(ptr) Variable Function 128 94(otw): 93(ptr) Variable Function 129 96(wto): 93(ptr) Variable Function 130 99(cid): 98(ptr) Variable Function 131 101(iid): 98(ptr) Variable Function 132 103(pid): 98(ptr) Variable Function 133 105(gid): 98(ptr) Variable Function 134 108(hkind): 107(ptr) Variable Function 135 112(handle): 111(ptr) Variable Function 136 114(rid): 107(ptr) Variable Function 137 Store 9(attr) 11 138 19: 18(ptr) AccessChain 14 16 139 Store 19 17 140 26: 23 Load 25(as) 141 HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload) 142 37: 23 Load 25(as) 143 HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42 144 43: 23 Load 25(as) 145 HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr) 146 46: 23 Load 25(as) 147 HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr) 148 49: 23 Load 25(as) 149 HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14 150 51: 23 Load 25(as) 151 HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14 152 HitObjectRecordEmptyNV 52(hObjNop) 153 HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56 154 HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57 155 HitObjectExecuteShaderNV 48(hObjHit) 36(payload) 156 59: 58(bool) HitObjectIsHitNV 22(hObj) 157 SelectionMerge 61 None 158 BranchConditional 59 60 67 159 60: Label 160 66: 65(ptr) AccessChain 64 16 161 Store 66 10 162 Branch 61 163 67: Label 164 68: 58(bool) HitObjectIsMissNV 22(hObj) 165 SelectionMerge 70 None 166 BranchConditional 68 69 72 167 69: Label 168 71: 65(ptr) AccessChain 64 16 169 Store 71 17 170 Branch 70 171 72: Label 172 73: 58(bool) HitObjectIsEmptyNV 22(hObj) 173 SelectionMerge 75 None 174 BranchConditional 73 74 75 175 74: Label 176 77: 65(ptr) AccessChain 64 16 177 Store 77 76 178 Branch 75 179 75: Label 180 Branch 70 181 70: Label 182 Branch 61 183 61: Label 184 80: 6(float) HitObjectGetRayTMinNV 48(hObjHit) 185 Store 79(tmin) 80 186 82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit) 187 Store 81(tmax) 82 188 85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit) 189 Store 84(orig) 85 190 87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit) 191 Store 86(dir) 87 192 89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit) 193 Store 88(oorig) 89 194 91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit) 195 Store 90(odir) 91 196 95: 92 HitObjectGetObjectToWorldNV 48(hObjHit) 197 Store 94(otw) 95 198 97: 92 HitObjectGetWorldToObjectNV 48(hObjHit) 199 Store 96(wto) 97 200 100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss) 201 Store 99(cid) 100 202 102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop) 203 Store 101(iid) 102 204 104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj) 205 Store 103(pid) 104 206 106: 15(int) HitObjectGetGeometryIndexNV 22(hObj) 207 Store 105(gid) 106 208 109: 27(int) HitObjectGetFrontFaceNV 22(hObj) 209 Store 108(hkind) 109 210 HitObjectGetAttributesNV 22(hObj) 9(attr) 211 113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj) 212 Store 112(handle) 113 213 115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj) 214 Store 114(rid) 115 215 ReorderThreadWithHintNV 116 116 216 ReorderThreadWithHitObjectNV 48(hObjHit) 217 ReorderThreadWithHitObjectNV 48(hObjHit) 116 44 218 Return 219 FunctionEnd 220