; SPIR-V ; Version: 1.5 ; Generator: Khronos; 40 ; Bound: 69 ; Schema: 0 OpCapability RayTracingKHR OpCapability RayTracingPositionFetchKHR OpCapability Shader OpExtension "SPV_KHR_ray_tracing" OpExtension "SPV_KHR_ray_tracing_position_fetch" OpMemoryModel Logical GLSL450 OpEntryPoint AnyHitNV %main "main" %59 %gParams %gParams_alphaMap %gParams_sampler %25 OpSource Slang 1 OpName %Params_std140 "Params_std140" OpMemberName %Params_std140 0 "mode" OpName %gParams "gParams" OpName %SphereHitAttributes "SphereHitAttributes" OpMemberName %SphereHitAttributes 0 "normal" OpName %gParams_alphaMap "gParams.alphaMap" OpName %gParams_sampler "gParams.sampler" OpName %sampledImage "sampledImage" OpName %sampled "sampled" OpName %_ptr_Input_v3float "_ptr_Input_v3float" OpName %addr "addr" OpName %_ptr_Input_v3float "_ptr_Input_v3float" OpName %addr_0 "addr" OpName %_ptr_Input_v3float "_ptr_Input_v3float" OpName %addr_1 "addr" OpName %main "main" OpDecorate %Params_std140 Block OpMemberDecorate %Params_std140 0 Offset 0 OpDecorate %gParams Binding 0 OpDecorate %gParams DescriptorSet 0 OpMemberDecorate %SphereHitAttributes 0 Offset 0 OpDecorate %gParams_alphaMap Binding 1 OpDecorate %gParams_alphaMap DescriptorSet 0 OpDecorate %gParams_sampler Binding 2 OpDecorate %gParams_sampler DescriptorSet 0 OpDecorate %_arr_v3float_int_3 ArrayStride 12 OpDecorate %59 BuiltIn HitTriangleVertexPositionsKHR %void = OpTypeVoid %3 = OpTypeFunction %void %int = OpTypeInt 32 1 %Params_std140 = OpTypeStruct %int %_ptr_Uniform_Params_std140 = OpTypePointer Uniform %Params_std140 %int_0 = OpConstant %int 0 %_ptr_Uniform_int = OpTypePointer Uniform %int %bool = OpTypeBool %float = OpTypeFloat 32 %v3float = OpTypeVector %float 3 %SphereHitAttributes = OpTypeStruct %v3float %_ptr_HitAttributeNV_SphereHitAttributes = OpTypePointer HitAttributeNV %SphereHitAttributes %_ptr_HitAttributeNV_v3float = OpTypePointer HitAttributeNV %v3float %v2float = OpTypeVector %float 2 %31 = OpTypeImage %float 2D 2 0 0 1 Unknown %_ptr_UniformConstant_31 = OpTypePointer UniformConstant %31 %35 = OpTypeSampler %_ptr_UniformConstant_35 = OpTypePointer UniformConstant %35 %39 = OpTypeSampledImage %31 %v4float = OpTypeVector %float 4 %float_0 = OpConstant %float 0 %_ptr_Input_v3float = OpTypePointer Input %v3float %int_3 = OpConstant %int 3 %_arr_v3float_int_3 = OpTypeArray %v3float %int_3 %_ptr_Input__arr_v3float_int_3 = OpTypePointer Input %_arr_v3float_int_3 %uint = OpTypeInt 32 0 %uint_0 = OpConstant %uint 0 %uint_1 = OpConstant %uint 1 %uint_2 = OpConstant %uint 2 %gParams = OpVariable %_ptr_Uniform_Params_std140 Uniform %25 = OpVariable %_ptr_HitAttributeNV_SphereHitAttributes HitAttributeNV %gParams_alphaMap = OpVariable %_ptr_UniformConstant_31 UniformConstant %gParams_sampler = OpVariable %_ptr_UniformConstant_35 UniformConstant %59 = OpVariable %_ptr_Input__arr_v3float_int_3 Input %main = OpFunction %void None %3 %4 = OpLabel %16 = OpAccessChain %_ptr_Uniform_int %gParams %int_0 %17 = OpLoad %int %16 %19 = OpINotEqual %bool %17 %int_0 OpSelectionMerge %9 None OpBranchConditional %19 %5 %9 %5 = OpLabel %27 = OpAccessChain %_ptr_HitAttributeNV_v3float %25 %int_0 %28 = OpLoad %v3float %27 %30 = OpVectorShuffle %v2float %28 %28 0 1 %32 = OpLoad %31 %gParams_alphaMap %36 = OpLoad %35 %gParams_sampler %sampledImage = OpSampledImage %39 %32 %36 %sampled = OpImageSampleExplicitLod %v4float %sampledImage %30 Lod %float_0 %44 = OpCompositeExtract %float %sampled 0 %45 = OpFOrdGreaterThan %bool %44 %float_0 OpSelectionMerge %8 None OpBranchConditional %45 %7 %6 %6 = OpLabel OpIgnoreIntersectionKHR %7 = OpLabel OpTerminateRayKHR %8 = OpLabel OpUnreachable %9 = OpLabel %addr = OpAccessChain %_ptr_Input_v3float %59 %uint_0 %62 = OpLoad %v3float %addr %addr_0 = OpAccessChain %_ptr_Input_v3float %59 %uint_1 %65 = OpLoad %v3float %addr_0 %addr_1 = OpAccessChain %_ptr_Input_v3float %59 %uint_2 %68 = OpLoad %v3float %addr_1 OpReturn OpFunctionEnd