;; Basic test for multiple entry points. The entry points have different ;; execution models and so can be trivially matched. OpCapability Shader %1 = OpExtInstImport "GLSL.std.450" OpMemoryModel Logical GLSL450 OpEntryPoint Vertex %mainv "mainv" %vo %a OpEntryPoint Fragment %mainf "mainf" %color %vi OpExecutionMode %mainf OriginUpperLeft OpSource ESSL 310 OpName %mainv "mainv" OpName %mainf "mainf" OpName %a "a" OpName %vo "v" OpName %vi "v" OpName %color "color" OpDecorate %a Location 0 OpDecorate %vo Location 0 OpDecorate %vi Location 0 OpDecorate %color Location 0 OpDecorate %color RelaxedPrecision OpDecorate %vi RelaxedPrecision OpDecorate %12 RelaxedPrecision OpDecorate %13 RelaxedPrecision %void = OpTypeVoid %3 = OpTypeFunction %void %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Input_float = OpTypePointer Input %float %a = OpVariable %_ptr_Input_float Input %_ptr_Output_float = OpTypePointer Output %float %vo = OpVariable %_ptr_Output_float Output %vi = OpVariable %_ptr_Input_float Input %_ptr_Output_v4float = OpTypePointer Output %v4float %color = OpVariable %_ptr_Output_v4float Output %mainv = OpFunction %void None %3 %5 = OpLabel %11 = OpLoad %float %a OpStore %vo %11 OpReturn OpFunctionEnd %mainf = OpFunction %void None %3 %6 = OpLabel %12 = OpLoad %float %vi %13 = OpCompositeConstruct %v4float %12 %12 %12 %12 OpStore %color %13 OpReturn OpFunctionEnd