1spv.ext.ClosestHitShader_Subgroup.rchit 2// Module Version 10400 3// Generated by (magic number): 8000b 4// Id's are bound by 67 5 6 Capability Int64 7 Capability GroupNonUniform 8 Capability GroupNonUniformBallot 9 Capability SubgroupBallotKHR 10 Capability RayTracingKHR 11 Capability VulkanMemoryModelKHR 12 Capability ShaderSMBuiltinsNV 13 Extension "SPV_KHR_ray_tracing" 14 Extension "SPV_KHR_shader_ballot" 15 Extension "SPV_KHR_vulkan_memory_model" 16 Extension "SPV_NV_shader_sm_builtins" 17 1: ExtInstImport "GLSL.std.450" 18 MemoryModel Logical VulkanKHR 19 EntryPoint ClosestHitKHR 4 "main" 8 26 28 34 43 48 53 61 20 Source GLSL 460 21 SourceExtension "GL_ARB_shader_ballot" 22 SourceExtension "GL_EXT_ray_tracing" 23 SourceExtension "GL_KHR_shader_subgroup_ballot" 24 SourceExtension "GL_KHR_shader_subgroup_basic" 25 SourceExtension "GL_NV_shader_sm_builtins" 26 Name 4 "main" 27 Name 8 "accEXT" 28 Name 26 "incomingPayload" 29 Name 28 "gl_SubgroupInvocationID" 30 Name 34 "gl_SubGroupGeMaskARB" 31 Name 43 "gl_SubgroupGtMask" 32 Name 48 "gl_SubgroupLeMask" 33 Name 53 "gl_SubGroupLtMaskARB" 34 Name 61 "gl_SMIDNV" 35 Decorate 8(accEXT) DescriptorSet 0 36 Decorate 8(accEXT) Binding 0 37 Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision 38 Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId 39 Decorate 29 RelaxedPrecision 40 Decorate 30 RelaxedPrecision 41 Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR 42 Decorate 41 RelaxedPrecision 43 Decorate 42 RelaxedPrecision 44 Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR 45 Decorate 46 RelaxedPrecision 46 Decorate 46 RelaxedPrecision 47 Decorate 47 RelaxedPrecision 48 Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR 49 Decorate 51 RelaxedPrecision 50 Decorate 51 RelaxedPrecision 51 Decorate 52 RelaxedPrecision 52 Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR 53 Decorate 59 RelaxedPrecision 54 Decorate 60 RelaxedPrecision 55 Decorate 61(gl_SMIDNV) BuiltIn SMIDNV 56 2: TypeVoid 57 3: TypeFunction 2 58 6: TypeAccelerationStructureKHR 59 7: TypePointer UniformConstant 6 60 8(accEXT): 7(ptr) Variable UniformConstant 61 10: TypeInt 32 0 62 11: 10(int) Constant 0 63 12: 10(int) Constant 1 64 13: 10(int) Constant 2 65 14: 10(int) Constant 3 66 15: TypeFloat 32 67 16: TypeVector 15(float) 3 68 17: 15(float) Constant 1056964608 69 18: 16(fvec3) ConstantComposite 17 17 17 70 19: 15(float) Constant 1065353216 71 20: 16(fvec3) ConstantComposite 19 19 19 72 21: 15(float) Constant 1061158912 73 22: TypeInt 32 1 74 23: 22(int) Constant 1 75 24: TypeVector 15(float) 4 76 25: TypePointer IncomingRayPayloadKHR 24(fvec4) 7726(incomingPayload): 25(ptr) Variable IncomingRayPayloadKHR 78 27: TypePointer Input 10(int) 7928(gl_SubgroupInvocationID): 27(ptr) Variable Input 80 31: TypeVector 10(int) 4 81 32: TypeInt 64 0 82 33: TypePointer Input 31(ivec4) 8334(gl_SubGroupGeMaskARB): 33(ptr) Variable Input 84 38: TypeVector 10(int) 2 8543(gl_SubgroupGtMask): 33(ptr) Variable Input 8648(gl_SubgroupLeMask): 33(ptr) Variable Input 8753(gl_SubGroupLtMaskARB): 33(ptr) Variable Input 88 61(gl_SMIDNV): 27(ptr) Variable Input 89 65: TypePointer IncomingRayPayloadKHR 15(float) 90 4(main): 2 Function None 3 91 5: Label 92 9: 6 Load 8(accEXT) 93 TraceRayKHR 9 11 12 13 14 11 18 17 20 21 26(incomingPayload) 94 29: 10(int) Load 28(gl_SubgroupInvocationID) Volatile 95 30: 15(float) ConvertUToF 29 96 35: 31(ivec4) Load 34(gl_SubGroupGeMaskARB) 97 36: 10(int) CompositeExtract 35 0 98 37: 10(int) CompositeExtract 35 1 99 39: 38(ivec2) CompositeConstruct 36 37 100 40: 32(int64_t) Bitcast 39 101 41: 15(float) ConvertUToF 40 102 42: 15(float) FAdd 30 41 103 44: 31(ivec4) Load 43(gl_SubgroupGtMask) Volatile 104 45: 24(fvec4) ConvertUToF 44 105 46: 15(float) CompositeExtract 45 0 106 47: 15(float) FAdd 42 46 107 49: 31(ivec4) Load 48(gl_SubgroupLeMask) Volatile 108 50: 24(fvec4) ConvertUToF 49 109 51: 15(float) CompositeExtract 50 0 110 52: 15(float) FAdd 47 51 111 54: 31(ivec4) Load 53(gl_SubGroupLtMaskARB) 112 55: 10(int) CompositeExtract 54 0 113 56: 10(int) CompositeExtract 54 1 114 57: 38(ivec2) CompositeConstruct 55 56 115 58: 32(int64_t) Bitcast 57 116 59: 15(float) ConvertUToF 58 117 60: 15(float) FAdd 52 59 118 62: 10(int) Load 61(gl_SMIDNV) Volatile 119 63: 15(float) ConvertUToF 62 120 64: 15(float) FAdd 60 63 121 66: 65(ptr) AccessChain 26(incomingPayload) 11 122 Store 66 64 123 Return 124 FunctionEnd 125