spv.intrinsicsSpirvType.rgen
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 21

                              Capability RayQueryKHR
                              Capability RayTraversalPrimitiveCullingKHR
                              Capability RayTracingKHR
                              Extension  "SPV_KHR_ray_query"
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main"
                              Source GLSL 460
                              SourceExtension  "GL_EXT_spirv_intrinsics"
                              Name 4  "main"
                              Name 8  "rq"
                              Name 11  "as"
                              Decorate 11(as) DescriptorSet 0
                              Decorate 11(as) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeRayQueryKHR
               7:             TypePointer Function 6
               9:             TypeAccelerationStructureKHR
              10:             TypePointer UniformConstant 9
          11(as):     10(ptr) Variable UniformConstant
              13:             TypeInt 32 0
              14:     13(int) Constant 0
              15:             TypeFloat 32
              16:             TypeVector 15(float) 3
              17:   15(float) Constant 0
              18:   16(fvec3) ConstantComposite 17 17 17
              19:   15(float) Constant 1065353216
              20:   16(fvec3) ConstantComposite 19 19 19
         4(main):           2 Function None 3
               5:             Label
           8(rq):      7(ptr) Variable Function
              12:           9 Load 11(as)
                              RayQueryInitializeKHR 8(rq) 12 14 14 18 17 20 19
                              RayQueryTerminateKHR 8(rq)
                              Return
                              FunctionEnd
