1617a3babSopenharmony_cispv.nv.hitobject-allops.rgen 2617a3babSopenharmony_ci// Module Version 10400 3617a3babSopenharmony_ci// Generated by (magic number): 8000b 4617a3babSopenharmony_ci// Id's are bound by 117 5617a3babSopenharmony_ci 6617a3babSopenharmony_ci Capability RayTracingKHR 7617a3babSopenharmony_ci Capability ShaderInvocationReorderNV 8617a3babSopenharmony_ci Extension "SPV_KHR_ray_tracing" 9617a3babSopenharmony_ci Extension "SPV_NV_shader_invocation_reorder" 10617a3babSopenharmony_ci 1: ExtInstImport "GLSL.std.450" 11617a3babSopenharmony_ci MemoryModel Logical GLSL450 12617a3babSopenharmony_ci EntryPoint RayGenerationKHR 4 "main" 9 14 22 25 36 42 48 52 53 64 13617a3babSopenharmony_ci Source GLSL 460 14617a3babSopenharmony_ci SourceExtension "GL_EXT_ray_tracing" 15617a3babSopenharmony_ci SourceExtension "GL_NV_ray_tracing_motion_blur" 16617a3babSopenharmony_ci SourceExtension "GL_NV_shader_invocation_reorder" 17617a3babSopenharmony_ci Name 4 "main" 18617a3babSopenharmony_ci Name 9 "attr" 19617a3babSopenharmony_ci Name 12 "hBlock" 20617a3babSopenharmony_ci MemberName 12(hBlock) 0 "attrval" 21617a3babSopenharmony_ci Name 14 "" 22617a3babSopenharmony_ci Name 22 "hObj" 23617a3babSopenharmony_ci Name 25 "as" 24617a3babSopenharmony_ci Name 36 "payload" 25617a3babSopenharmony_ci Name 40 "pBlock" 26617a3babSopenharmony_ci MemberName 40(pBlock) 0 "val1" 27617a3babSopenharmony_ci MemberName 40(pBlock) 1 "val2" 28617a3babSopenharmony_ci Name 42 "" 29617a3babSopenharmony_ci Name 48 "hObjHit" 30617a3babSopenharmony_ci Name 52 "hObjNop" 31617a3babSopenharmony_ci Name 53 "hObjMiss" 32617a3babSopenharmony_ci Name 62 "block" 33617a3babSopenharmony_ci MemberName 62(block) 0 "op" 34617a3babSopenharmony_ci Name 64 "" 35617a3babSopenharmony_ci Name 79 "tmin" 36617a3babSopenharmony_ci Name 81 "tmax" 37617a3babSopenharmony_ci Name 84 "orig" 38617a3babSopenharmony_ci Name 86 "dir" 39617a3babSopenharmony_ci Name 88 "oorig" 40617a3babSopenharmony_ci Name 90 "odir" 41617a3babSopenharmony_ci Name 94 "otw" 42617a3babSopenharmony_ci Name 96 "wto" 43617a3babSopenharmony_ci Name 99 "cid" 44617a3babSopenharmony_ci Name 101 "iid" 45617a3babSopenharmony_ci Name 103 "pid" 46617a3babSopenharmony_ci Name 105 "gid" 47617a3babSopenharmony_ci Name 108 "hkind" 48617a3babSopenharmony_ci Name 112 "handle" 49617a3babSopenharmony_ci Name 114 "rid" 50617a3babSopenharmony_ci Decorate 12(hBlock) Block 51617a3babSopenharmony_ci Decorate 25(as) DescriptorSet 0 52617a3babSopenharmony_ci Decorate 25(as) Binding 0 53617a3babSopenharmony_ci Decorate 40(pBlock) Block 54617a3babSopenharmony_ci MemberDecorate 62(block) 0 Offset 0 55617a3babSopenharmony_ci Decorate 62(block) Block 56617a3babSopenharmony_ci Decorate 64 DescriptorSet 0 57617a3babSopenharmony_ci Decorate 64 Binding 1 58617a3babSopenharmony_ci 2: TypeVoid 59617a3babSopenharmony_ci 3: TypeFunction 2 60617a3babSopenharmony_ci 6: TypeFloat 32 61617a3babSopenharmony_ci 7: TypeVector 6(float) 2 62617a3babSopenharmony_ci 8: TypePointer HitObjectAttributeNV 7(fvec2) 63617a3babSopenharmony_ci 9(attr): 8(ptr) Variable HitObjectAttributeNV 64617a3babSopenharmony_ci 10: 6(float) Constant 1065353216 65617a3babSopenharmony_ci 11: 7(fvec2) ConstantComposite 10 10 66617a3babSopenharmony_ci 12(hBlock): TypeStruct 6(float) 67617a3babSopenharmony_ci 13: TypePointer HitObjectAttributeNV 12(hBlock) 68617a3babSopenharmony_ci 14: 13(ptr) Variable HitObjectAttributeNV 69617a3babSopenharmony_ci 15: TypeInt 32 1 70617a3babSopenharmony_ci 16: 15(int) Constant 0 71617a3babSopenharmony_ci 17: 6(float) Constant 1073741824 72617a3babSopenharmony_ci 18: TypePointer HitObjectAttributeNV 6(float) 73617a3babSopenharmony_ci 20: TypeHitObjectNV 74617a3babSopenharmony_ci 21: TypePointer Private 20 75617a3babSopenharmony_ci 22(hObj): 21(ptr) Variable Private 76617a3babSopenharmony_ci 23: TypeAccelerationStructureKHR 77617a3babSopenharmony_ci 24: TypePointer UniformConstant 23 78617a3babSopenharmony_ci 25(as): 24(ptr) Variable UniformConstant 79617a3babSopenharmony_ci 27: TypeInt 32 0 80617a3babSopenharmony_ci 28: 27(int) Constant 1 81617a3babSopenharmony_ci 29: TypeVector 6(float) 3 82617a3babSopenharmony_ci 30: 6(float) Constant 1056964608 83617a3babSopenharmony_ci 31: 29(fvec3) ConstantComposite 30 30 30 84617a3babSopenharmony_ci 32: 29(fvec3) ConstantComposite 10 10 10 85617a3babSopenharmony_ci 33: 15(int) Constant 1 86617a3babSopenharmony_ci 34: TypeVector 6(float) 4 87617a3babSopenharmony_ci 35: TypePointer RayPayloadKHR 34(fvec4) 88617a3babSopenharmony_ci 36(payload): 35(ptr) Variable RayPayloadKHR 89617a3babSopenharmony_ci 38: 6(float) Constant 1092616192 90617a3babSopenharmony_ci 39: 15(int) Constant 2 91617a3babSopenharmony_ci 40(pBlock): TypeStruct 7(fvec2) 7(fvec2) 92617a3babSopenharmony_ci 41: TypePointer RayPayloadKHR 40(pBlock) 93617a3babSopenharmony_ci 42: 41(ptr) Variable RayPayloadKHR 94617a3babSopenharmony_ci 44: 27(int) Constant 2 95617a3babSopenharmony_ci 45: 29(fvec3) ConstantComposite 17 17 17 96617a3babSopenharmony_ci 47: 6(float) Constant 1082130432 97617a3babSopenharmony_ci 48(hObjHit): 21(ptr) Variable Private 98617a3babSopenharmony_ci 50: 15(int) Constant 3 99617a3babSopenharmony_ci 52(hObjNop): 21(ptr) Variable Private 100617a3babSopenharmony_ci 53(hObjMiss): 21(ptr) Variable Private 101617a3babSopenharmony_ci 54: 6(float) Constant 1069547520 102617a3babSopenharmony_ci 55: 29(fvec3) ConstantComposite 54 54 54 103617a3babSopenharmony_ci 56: 6(float) Constant 1084227584 104617a3babSopenharmony_ci 57: 6(float) Constant 1090519040 105617a3babSopenharmony_ci 58: TypeBool 106617a3babSopenharmony_ci 62(block): TypeStruct 6(float) 107617a3babSopenharmony_ci 63: TypePointer StorageBuffer 62(block) 108617a3babSopenharmony_ci 64: 63(ptr) Variable StorageBuffer 109617a3babSopenharmony_ci 65: TypePointer StorageBuffer 6(float) 110617a3babSopenharmony_ci 76: 6(float) Constant 1077936128 111617a3babSopenharmony_ci 78: TypePointer Function 6(float) 112617a3babSopenharmony_ci 83: TypePointer Function 29(fvec3) 113617a3babSopenharmony_ci 92: TypeMatrix 29(fvec3) 4 114617a3babSopenharmony_ci 93: TypePointer Function 92 115617a3babSopenharmony_ci 98: TypePointer Function 15(int) 116617a3babSopenharmony_ci 107: TypePointer Function 27(int) 117617a3babSopenharmony_ci 110: TypeVector 27(int) 2 118617a3babSopenharmony_ci 111: TypePointer Function 110(ivec2) 119617a3babSopenharmony_ci 116: 27(int) Constant 4 120617a3babSopenharmony_ci 4(main): 2 Function None 3 121617a3babSopenharmony_ci 5: Label 122617a3babSopenharmony_ci 79(tmin): 78(ptr) Variable Function 123617a3babSopenharmony_ci 81(tmax): 78(ptr) Variable Function 124617a3babSopenharmony_ci 84(orig): 83(ptr) Variable Function 125617a3babSopenharmony_ci 86(dir): 83(ptr) Variable Function 126617a3babSopenharmony_ci 88(oorig): 83(ptr) Variable Function 127617a3babSopenharmony_ci 90(odir): 83(ptr) Variable Function 128617a3babSopenharmony_ci 94(otw): 93(ptr) Variable Function 129617a3babSopenharmony_ci 96(wto): 93(ptr) Variable Function 130617a3babSopenharmony_ci 99(cid): 98(ptr) Variable Function 131617a3babSopenharmony_ci 101(iid): 98(ptr) Variable Function 132617a3babSopenharmony_ci 103(pid): 98(ptr) Variable Function 133617a3babSopenharmony_ci 105(gid): 98(ptr) Variable Function 134617a3babSopenharmony_ci 108(hkind): 107(ptr) Variable Function 135617a3babSopenharmony_ci 112(handle): 111(ptr) Variable Function 136617a3babSopenharmony_ci 114(rid): 107(ptr) Variable Function 137617a3babSopenharmony_ci Store 9(attr) 11 138617a3babSopenharmony_ci 19: 18(ptr) AccessChain 14 16 139617a3babSopenharmony_ci Store 19 17 140617a3babSopenharmony_ci 26: 23 Load 25(as) 141617a3babSopenharmony_ci HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload) 142617a3babSopenharmony_ci 37: 23 Load 25(as) 143617a3babSopenharmony_ci HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42 144617a3babSopenharmony_ci 43: 23 Load 25(as) 145617a3babSopenharmony_ci HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr) 146617a3babSopenharmony_ci 46: 23 Load 25(as) 147617a3babSopenharmony_ci HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr) 148617a3babSopenharmony_ci 49: 23 Load 25(as) 149617a3babSopenharmony_ci HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14 150617a3babSopenharmony_ci 51: 23 Load 25(as) 151617a3babSopenharmony_ci HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14 152617a3babSopenharmony_ci HitObjectRecordEmptyNV 52(hObjNop) 153617a3babSopenharmony_ci HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56 154617a3babSopenharmony_ci HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57 155617a3babSopenharmony_ci HitObjectExecuteShaderNV 48(hObjHit) 36(payload) 156617a3babSopenharmony_ci 59: 58(bool) HitObjectIsHitNV 22(hObj) 157617a3babSopenharmony_ci SelectionMerge 61 None 158617a3babSopenharmony_ci BranchConditional 59 60 67 159617a3babSopenharmony_ci 60: Label 160617a3babSopenharmony_ci 66: 65(ptr) AccessChain 64 16 161617a3babSopenharmony_ci Store 66 10 162617a3babSopenharmony_ci Branch 61 163617a3babSopenharmony_ci 67: Label 164617a3babSopenharmony_ci 68: 58(bool) HitObjectIsMissNV 22(hObj) 165617a3babSopenharmony_ci SelectionMerge 70 None 166617a3babSopenharmony_ci BranchConditional 68 69 72 167617a3babSopenharmony_ci 69: Label 168617a3babSopenharmony_ci 71: 65(ptr) AccessChain 64 16 169617a3babSopenharmony_ci Store 71 17 170617a3babSopenharmony_ci Branch 70 171617a3babSopenharmony_ci 72: Label 172617a3babSopenharmony_ci 73: 58(bool) HitObjectIsEmptyNV 22(hObj) 173617a3babSopenharmony_ci SelectionMerge 75 None 174617a3babSopenharmony_ci BranchConditional 73 74 75 175617a3babSopenharmony_ci 74: Label 176617a3babSopenharmony_ci 77: 65(ptr) AccessChain 64 16 177617a3babSopenharmony_ci Store 77 76 178617a3babSopenharmony_ci Branch 75 179617a3babSopenharmony_ci 75: Label 180617a3babSopenharmony_ci Branch 70 181617a3babSopenharmony_ci 70: Label 182617a3babSopenharmony_ci Branch 61 183617a3babSopenharmony_ci 61: Label 184617a3babSopenharmony_ci 80: 6(float) HitObjectGetRayTMinNV 48(hObjHit) 185617a3babSopenharmony_ci Store 79(tmin) 80 186617a3babSopenharmony_ci 82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit) 187617a3babSopenharmony_ci Store 81(tmax) 82 188617a3babSopenharmony_ci 85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit) 189617a3babSopenharmony_ci Store 84(orig) 85 190617a3babSopenharmony_ci 87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit) 191617a3babSopenharmony_ci Store 86(dir) 87 192617a3babSopenharmony_ci 89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit) 193617a3babSopenharmony_ci Store 88(oorig) 89 194617a3babSopenharmony_ci 91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit) 195617a3babSopenharmony_ci Store 90(odir) 91 196617a3babSopenharmony_ci 95: 92 HitObjectGetObjectToWorldNV 48(hObjHit) 197617a3babSopenharmony_ci Store 94(otw) 95 198617a3babSopenharmony_ci 97: 92 HitObjectGetWorldToObjectNV 48(hObjHit) 199617a3babSopenharmony_ci Store 96(wto) 97 200617a3babSopenharmony_ci 100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss) 201617a3babSopenharmony_ci Store 99(cid) 100 202617a3babSopenharmony_ci 102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop) 203617a3babSopenharmony_ci Store 101(iid) 102 204617a3babSopenharmony_ci 104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj) 205617a3babSopenharmony_ci Store 103(pid) 104 206617a3babSopenharmony_ci 106: 15(int) HitObjectGetGeometryIndexNV 22(hObj) 207617a3babSopenharmony_ci Store 105(gid) 106 208617a3babSopenharmony_ci 109: 27(int) HitObjectGetFrontFaceNV 22(hObj) 209617a3babSopenharmony_ci Store 108(hkind) 109 210617a3babSopenharmony_ci HitObjectGetAttributesNV 22(hObj) 9(attr) 211617a3babSopenharmony_ci 113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj) 212617a3babSopenharmony_ci Store 112(handle) 113 213617a3babSopenharmony_ci 115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj) 214617a3babSopenharmony_ci Store 114(rid) 115 215617a3babSopenharmony_ci ReorderThreadWithHintNV 116 116 216617a3babSopenharmony_ci ReorderThreadWithHitObjectNV 48(hObjHit) 217617a3babSopenharmony_ci ReorderThreadWithHitObjectNV 48(hObjHit) 116 44 218617a3babSopenharmony_ci Return 219617a3babSopenharmony_ci FunctionEnd 220