SKIP: FAILED

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 31
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %f "f" %f_position_Input %f_loc0_Input %f_Input
               OpExecutionMode %f OriginUpperLeft
               OpName %f_position_Input "f_position_Input"
               OpName %f_loc0_Input "f_loc0_Input"
               OpName %f_Input "f_Input"
               OpName %g "g"
               OpName %a "a"
               OpName %b "b"
               OpName %c "c"
               OpName %f_inner "f_inner"
               OpName %pos "pos"
               OpName %uv "uv"
               OpName %fbf "fbf"
               OpName %f "f"
               OpDecorate %f_position_Input BuiltIn FragCoord
               OpDecorate %f_loc0_Input Location 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%f_position_Input = OpVariable %_ptr_Input_v4float Input
%f_loc0_Input = OpVariable %_ptr_Input_v4float Input
    %f_Input = OpVariable %_ptr_Input_v4float Input
       %void = OpTypeVoid
         %12 = OpTypeFunction %void %float %float %float
         %18 = OpTypeFunction %void %v4float %v4float %v4float
         %25 = OpTypeFunction %void
          %g = OpFunction %void None %12
          %a = OpFunctionParameter %float
          %b = OpFunctionParameter %float
          %c = OpFunctionParameter %float
         %13 = OpLabel
               OpReturn
               OpFunctionEnd
    %f_inner = OpFunction %void None %18
        %pos = OpFunctionParameter %v4float
         %uv = OpFunctionParameter %v4float
        %fbf = OpFunctionParameter %v4float
         %19 = OpLabel
         %20 = OpCompositeExtract %float %pos 0
         %21 = OpCompositeExtract %float %uv 0
         %22 = OpCompositeExtract %float %fbf 0
         %23 = OpFunctionCall %void %g %20 %21 %22
               OpReturn
               OpFunctionEnd
          %f = OpFunction %void None %25
         %26 = OpLabel
         %27 = OpLoad %v4float %f_position_Input None
         %28 = OpLoad %v4float %f_loc0_Input None
         %29 = OpLoad %v4float %f_Input None
         %30 = OpFunctionCall %void %f_inner %27 %28 %29
               OpReturn
               OpFunctionEnd
1:1: [VUID-StandaloneSpirv-Location-04916] Variable must be decorated with a location
  %f_Input = OpVariable %_ptr_Input_v4float Input

