spv.ext.ClosestHitShader_Subgroup.rchit // Module Version 10400 // Generated by (magic number): 8000b // Id's are bound by 67 Capability Int64 Capability GroupNonUniform Capability GroupNonUniformBallot Capability SubgroupBallotKHR Capability RayTracingKHR Capability VulkanMemoryModelKHR Capability ShaderSMBuiltinsNV Extension "SPV_KHR_ray_tracing" Extension "SPV_KHR_shader_ballot" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_shader_sm_builtins" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical VulkanKHR EntryPoint ClosestHitKHR 4 "main" 8 26 28 34 43 48 53 61 Source GLSL 460 SourceExtension "GL_ARB_shader_ballot" SourceExtension "GL_EXT_ray_tracing" SourceExtension "GL_KHR_shader_subgroup_ballot" SourceExtension "GL_KHR_shader_subgroup_basic" SourceExtension "GL_NV_shader_sm_builtins" Name 4 "main" Name 8 "accEXT" Name 26 "incomingPayload" Name 28 "gl_SubgroupInvocationID" Name 34 "gl_SubGroupGeMaskARB" Name 43 "gl_SubgroupGtMask" Name 48 "gl_SubgroupLeMask" Name 53 "gl_SubGroupLtMaskARB" Name 61 "gl_SMIDNV" Decorate 8(accEXT) DescriptorSet 0 Decorate 8(accEXT) Binding 0 Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 29 RelaxedPrecision Decorate 30 RelaxedPrecision Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR Decorate 41 RelaxedPrecision Decorate 42 RelaxedPrecision Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR Decorate 46 RelaxedPrecision Decorate 46 RelaxedPrecision Decorate 47 RelaxedPrecision Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR Decorate 51 RelaxedPrecision Decorate 51 RelaxedPrecision Decorate 52 RelaxedPrecision Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR Decorate 59 RelaxedPrecision Decorate 60 RelaxedPrecision Decorate 61(gl_SMIDNV) BuiltIn SMIDNV 2: TypeVoid 3: TypeFunction 2 6: TypeAccelerationStructureKHR 7: TypePointer UniformConstant 6 8(accEXT): 7(ptr) Variable UniformConstant 10: TypeInt 32 0 11: 10(int) Constant 0 12: 10(int) Constant 1 13: 10(int) Constant 2 14: 10(int) Constant 3 15: TypeFloat 32 16: TypeVector 15(float) 3 17: 15(float) Constant 1056964608 18: 16(fvec3) ConstantComposite 17 17 17 19: 15(float) Constant 1065353216 20: 16(fvec3) ConstantComposite 19 19 19 21: 15(float) Constant 1061158912 22: TypeInt 32 1 23: 22(int) Constant 1 24: TypeVector 15(float) 4 25: TypePointer IncomingRayPayloadKHR 24(fvec4) 26(incomingPayload): 25(ptr) Variable IncomingRayPayloadKHR 27: TypePointer Input 10(int) 28(gl_SubgroupInvocationID): 27(ptr) Variable Input 31: TypeVector 10(int) 4 32: TypeInt 64 0 33: TypePointer Input 31(ivec4) 34(gl_SubGroupGeMaskARB): 33(ptr) Variable Input 38: TypeVector 10(int) 2 43(gl_SubgroupGtMask): 33(ptr) Variable Input 48(gl_SubgroupLeMask): 33(ptr) Variable Input 53(gl_SubGroupLtMaskARB): 33(ptr) Variable Input 61(gl_SMIDNV): 27(ptr) Variable Input 65: TypePointer IncomingRayPayloadKHR 15(float) 4(main): 2 Function None 3 5: Label 9: 6 Load 8(accEXT) TraceRayKHR 9 11 12 13 14 11 18 17 20 21 26(incomingPayload) 29: 10(int) Load 28(gl_SubgroupInvocationID) Volatile 30: 15(float) ConvertUToF 29 35: 31(ivec4) Load 34(gl_SubGroupGeMaskARB) 36: 10(int) CompositeExtract 35 0 37: 10(int) CompositeExtract 35 1 39: 38(ivec2) CompositeConstruct 36 37 40: 32(int64_t) Bitcast 39 41: 15(float) ConvertUToF 40 42: 15(float) FAdd 30 41 44: 31(ivec4) Load 43(gl_SubgroupGtMask) Volatile 45: 24(fvec4) ConvertUToF 44 46: 15(float) CompositeExtract 45 0 47: 15(float) FAdd 42 46 49: 31(ivec4) Load 48(gl_SubgroupLeMask) Volatile 50: 24(fvec4) ConvertUToF 49 51: 15(float) CompositeExtract 50 0 52: 15(float) FAdd 47 51 54: 31(ivec4) Load 53(gl_SubGroupLtMaskARB) 55: 10(int) CompositeExtract 54 0 56: 10(int) CompositeExtract 54 1 57: 38(ivec2) CompositeConstruct 55 56 58: 32(int64_t) Bitcast 57 59: 15(float) ConvertUToF 58 60: 15(float) FAdd 52 59 62: 10(int) Load 61(gl_SMIDNV) Volatile 63: 15(float) ConvertUToF 62 64: 15(float) FAdd 60 63 66: 65(ptr) AccessChain 26(incomingPayload) 11 Store 66 64 Return FunctionEnd