; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
               OpCapability Shader
               OpCapability SampledCubeArray
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %textureSampleBias_c6953d "textureSampleBias_c6953d"
               OpName %arg_2 "arg_2"
               OpName %arg_3 "arg_3"
               OpName %arg_4 "arg_4"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpDecorate %arg_0 DescriptorSet 1
               OpDecorate %arg_0 Binding 0
               OpDecorate %arg_1 DescriptorSet 1
               OpDecorate %arg_1 Binding 1
      %float = OpTypeFloat 32
          %3 = OpTypeImage %float Cube 0 1 0 1 Unknown
%_ptr_UniformConstant_3 = OpTypePointer UniformConstant %3
      %arg_0 = OpVariable %_ptr_UniformConstant_3 UniformConstant
          %7 = OpTypeSampler
%_ptr_UniformConstant_7 = OpTypePointer UniformConstant %7
      %arg_1 = OpVariable %_ptr_UniformConstant_7 UniformConstant
       %void = OpTypeVoid
          %8 = OpTypeFunction %void
    %v3float = OpTypeVector %float 3
    %float_1 = OpConstant %float 1
         %14 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%_ptr_Function_v3float = OpTypePointer Function %v3float
         %17 = OpConstantNull %v3float
       %uint = OpTypeInt 32 0
     %uint_1 = OpConstant %uint 1
%_ptr_Function_uint = OpTypePointer Function %uint
         %22 = OpConstantNull %uint
%_ptr_Function_float = OpTypePointer Function %float
         %25 = OpConstantNull %float
    %v4float = OpTypeVector %float 4
         %30 = OpTypeSampledImage %3
%_ptr_Function_v4float = OpTypePointer Function %v4float
         %42 = OpConstantNull %v4float
%textureSampleBias_c6953d = OpFunction %void None %8
         %11 = OpLabel
      %arg_2 = OpVariable %_ptr_Function_v3float Function %17
      %arg_3 = OpVariable %_ptr_Function_uint Function %22
      %arg_4 = OpVariable %_ptr_Function_float Function %25
        %res = OpVariable %_ptr_Function_v4float Function %42
               OpStore %arg_2 %14
               OpStore %arg_3 %uint_1
               OpStore %arg_4 %float_1
         %28 = OpLoad %7 %arg_1
         %29 = OpLoad %3 %arg_0
         %31 = OpSampledImage %30 %29 %28
         %32 = OpLoad %v3float %arg_2
         %33 = OpCompositeExtract %float %32 0
         %34 = OpCompositeExtract %float %32 1
         %35 = OpCompositeExtract %float %32 2
         %37 = OpLoad %uint %arg_3
         %36 = OpConvertUToF %float %37
         %38 = OpCompositeConstruct %v4float %33 %34 %35 %36
         %39 = OpLoad %float %arg_4
         %26 = OpImageSampleImplicitLod %v4float %31 %38 Bias %39
               OpStore %res %26
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %8
         %44 = OpLabel
         %45 = OpFunctionCall %void %textureSampleBias_c6953d
               OpReturn
               OpFunctionEnd
