vulkan_hw_tier00[1] - AR output
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 1
; Bound: 80
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %4 "main" %22 %32 %66
OpExecutionMode %4 OriginUpperLeft
OpName %22 "vs_TEXCOORD0"
OpDecorate %9 RelaxedPrecision
OpDecorate %12 RelaxedPrecision
OpDecorate %12 DescriptorSet 12
OpDecorate %12 Binding 12
OpDecorate %13 RelaxedPrecision
OpDecorate %16 RelaxedPrecision
OpDecorate %16 DescriptorSet 16
OpDecorate %16 Binding 16
OpDecorate %17 RelaxedPrecision
OpDecorate %22 Location 22
OpDecorate %26 RelaxedPrecision
OpDecorate %30 RelaxedPrecision
OpDecorate %32 RelaxedPrecision
OpDecorate %32 Location 32
OpDecorate %36 RelaxedPrecision
OpDecorate %37 RelaxedPrecision
OpDecorate %40 RelaxedPrecision
OpDecorate %41 RelaxedPrecision
OpDecorate %42 RelaxedPrecision
OpDecorate %45 RelaxedPrecision
OpDecorate %46 RelaxedPrecision
OpDecorate %47 RelaxedPrecision
OpDecorate %48 RelaxedPrecision
OpDecorate %49 RelaxedPrecision
OpDecorate %50 RelaxedPrecision
OpDecorate %51 RelaxedPrecision
OpDecorate %52 RelaxedPrecision
OpDecorate %53 RelaxedPrecision
OpDecorate %54 RelaxedPrecision
OpDecorate %55 RelaxedPrecision
OpDecorate %57 RelaxedPrecision
OpDecorate %58 RelaxedPrecision
OpDecorate %60 RelaxedPrecision
OpDecorate %61 RelaxedPrecision
OpDecorate %63 RelaxedPrecision
OpDecorate %64 RelaxedPrecision
OpDecorate %66 Location 66
OpDecorate %67 RelaxedPrecision
OpDecorate %68 RelaxedPrecision
OpDecorate %69 RelaxedPrecision
OpDecorate %70 RelaxedPrecision
OpDecorate %73 RelaxedPrecision
OpDecorate %76 RelaxedPrecision
%2 = OpTypeVoid
%3 = OpTypeFunction %2
%6 = OpTypeFloat 32
%7 = OpTypeVector %6 4
%8 = OpTypePointer Private %7
Private f32_4* %9 = OpVariable Private
%10 = OpTypeImage %6 Dim2D 0 0 0 1 Unknown
%11 = OpTypePointer UniformConstant %10
UniformConstant read_only Texture2D* %12 = OpVariable UniformConstant
%14 = OpTypeSampler
%15 = OpTypePointer UniformConstant %14
UniformConstant sampler* %16 = OpVariable UniformConstant
%18 = OpTypeSampledImage %10
%20 = OpTypeVector %6 2
%21 = OpTypePointer Input %20
Input f32_2* %22 = OpVariable Input
%25 = OpTypePointer Private %6
Private f32* %26 = OpVariable Private
%27 = OpTypeInt 32 0
u32 %28 = OpConstant 3
%31 = OpTypePointer Input %7
Input f32_4* %32 = OpVariable Input
u32 %33 = OpConstant 0
%34 = OpTypePointer Input %6
%38 = OpTypeVector %6 3
%39 = OpTypePointer Private %38
Private f32_3* %40 = OpVariable Private
f32 %43 = OpConstant 3.67402E-40
f32_3 %44 = OpConstantComposite %43 %43 %43
Private f32* %49 = OpVariable Private
f32 %56 = OpConstant 3.67402E-40
f32 %59 = OpConstant 3.67402E-40
%65 = OpTypePointer Output %7
Output f32_4* %66 = OpVariable Output
f32 %71 = OpConstant 3.67402E-40
f32_3 %72 = OpConstantComposite %71 %71 %71
%77 = OpTypePointer Output %6
void %4 = OpFunction None %3
%5 = OpLabel
read_only Texture2D %13 = OpLoad %12
sampler %17 = OpLoad %16
read_only Texture2DSampled %19 = OpSampledImage %13 %17
f32_2 %23 = OpLoad %22
f32_4 %24 = OpImageSampleImplicitLod %19 %23
OpStore %9 %24
Private f32* %29 = OpAccessChain %9 %28
f32 %30 = OpLoad %29
Input f32* %35 = OpAccessChain %32 %33
f32 %36 = OpLoad %35
f32 %37 = OpFAdd %30 %36
OpStore %26 %37
f32_4 %41 = OpLoad %9
f32_3 %42 = OpVectorShuffle %41 %41 0 1 2
f32_3 %45 = OpFAdd %42 %44
OpStore %40 %45
f32 %46 = OpLoad %26
f32 %47 = OpLoad %26
f32 %48 = OpFMul %46 %47
OpStore %26 %48
f32 %50 = OpLoad %26
f32 %51 = OpLoad %26
f32 %52 = OpFMul %50 %51
OpStore %49 %52
f32 %53 = OpLoad %26
f32 %54 = OpLoad %49
f32 %55 = OpFMul %53 %54
f32 %57 = OpFAdd %55 %56
OpStore %26 %57
f32 %58 = OpLoad %26
f32 %60 = OpExtInst %1 40 %58 %59
OpStore %26 %60
f32 %61 = OpLoad %26
Input f32* %62 = OpAccessChain %32 %28
f32 %63 = OpLoad %62
f32 %64 = OpExtInst %1 37 %61 %63
OpStore %26 %64
f32_3 %67 = OpLoad %40
f32 %68 = OpLoad %26
f32_3 %69 = OpCompositeConstruct %68 %68 %68
f32_3 %70 = OpFMul %67 %69
f32_3 %73 = OpFAdd %70 %72
f32_4 %74 = OpLoad %66
f32_4 %75 = OpVectorShuffle %74 %73 4 5 6 3
OpStore %66 %75
f32 %76 = OpLoad %26
Output f32* %78 = OpAccessChain %66 %28
OpStore %78 %76
OpReturn
OpFunctionEnd