xref: /aosp_15_r20/external/skia/tests/sksl/spirv/SpecializationInCall.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker               OpCapability Shader
2*c8dee2aaSAndroid Build Coastguard Worker          %1 = OpExtInstImport "GLSL.std.450"
3*c8dee2aaSAndroid Build Coastguard Worker               OpMemoryModel Logical GLSL450
4*c8dee2aaSAndroid Build Coastguard Worker               OpEntryPoint Fragment %main "main"
5*c8dee2aaSAndroid Build Coastguard Worker               OpExecutionMode %main OriginUpperLeft
6*c8dee2aaSAndroid Build Coastguard Worker               OpName %aSampler "aSampler"
7*c8dee2aaSAndroid Build Coastguard Worker               OpName %aSecondSampler "aSecondSampler"
8*c8dee2aaSAndroid Build Coastguard Worker               OpName %bar_h4Z_aSampler "bar_h4Z_aSampler"
9*c8dee2aaSAndroid Build Coastguard Worker               OpName %bar_h4Z_aSecondSampler "bar_h4Z_aSecondSampler"
10*c8dee2aaSAndroid Build Coastguard Worker               OpName %foo_h4 "foo_h4"
11*c8dee2aaSAndroid Build Coastguard Worker               OpName %a "a"
12*c8dee2aaSAndroid Build Coastguard Worker               OpName %b "b"
13*c8dee2aaSAndroid Build Coastguard Worker               OpName %main "main"
14*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %aSampler RelaxedPrecision
15*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %aSampler Binding 0
16*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %aSampler DescriptorSet 0
17*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %aSecondSampler RelaxedPrecision
18*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %aSecondSampler Binding 1
19*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %aSecondSampler DescriptorSet 0
20*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %16 RelaxedPrecision
21*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %22 RelaxedPrecision
22*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %a RelaxedPrecision
23*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %b RelaxedPrecision
24*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %29 RelaxedPrecision
25*c8dee2aaSAndroid Build Coastguard Worker      %float = OpTypeFloat 32
26*c8dee2aaSAndroid Build Coastguard Worker          %8 = OpTypeImage %float 2D 0 0 0 1 Unknown
27*c8dee2aaSAndroid Build Coastguard Worker          %9 = OpTypeSampledImage %8
28*c8dee2aaSAndroid Build Coastguard Worker%_ptr_UniformConstant_9 = OpTypePointer UniformConstant %9
29*c8dee2aaSAndroid Build Coastguard Worker   %aSampler = OpVariable %_ptr_UniformConstant_9 UniformConstant
30*c8dee2aaSAndroid Build Coastguard Worker%aSecondSampler = OpVariable %_ptr_UniformConstant_9 UniformConstant
31*c8dee2aaSAndroid Build Coastguard Worker    %v4float = OpTypeVector %float 4
32*c8dee2aaSAndroid Build Coastguard Worker         %13 = OpTypeFunction %v4float
33*c8dee2aaSAndroid Build Coastguard Worker    %float_0 = OpConstant %float 0
34*c8dee2aaSAndroid Build Coastguard Worker    %v2float = OpTypeVector %float 2
35*c8dee2aaSAndroid Build Coastguard Worker         %19 = OpConstantComposite %v2float %float_0 %float_0
36*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v4float = OpTypePointer Function %v4float
37*c8dee2aaSAndroid Build Coastguard Worker       %void = OpTypeVoid
38*c8dee2aaSAndroid Build Coastguard Worker         %31 = OpTypeFunction %void
39*c8dee2aaSAndroid Build Coastguard Worker%bar_h4Z_aSampler = OpFunction %v4float None %13
40*c8dee2aaSAndroid Build Coastguard Worker         %14 = OpLabel
41*c8dee2aaSAndroid Build Coastguard Worker         %16 = OpLoad %9 %aSampler
42*c8dee2aaSAndroid Build Coastguard Worker         %15 = OpImageSampleImplicitLod %v4float %16 %19
43*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %15
44*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
45*c8dee2aaSAndroid Build Coastguard Worker%bar_h4Z_aSecondSampler = OpFunction %v4float None %13
46*c8dee2aaSAndroid Build Coastguard Worker         %20 = OpLabel
47*c8dee2aaSAndroid Build Coastguard Worker         %22 = OpLoad %9 %aSecondSampler
48*c8dee2aaSAndroid Build Coastguard Worker         %21 = OpImageSampleImplicitLod %v4float %22 %19
49*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %21
50*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
51*c8dee2aaSAndroid Build Coastguard Worker     %foo_h4 = OpFunction %v4float None %13
52*c8dee2aaSAndroid Build Coastguard Worker         %23 = OpLabel
53*c8dee2aaSAndroid Build Coastguard Worker          %a = OpVariable %_ptr_Function_v4float Function
54*c8dee2aaSAndroid Build Coastguard Worker          %b = OpVariable %_ptr_Function_v4float Function
55*c8dee2aaSAndroid Build Coastguard Worker         %26 = OpFunctionCall %v4float %bar_h4Z_aSampler
56*c8dee2aaSAndroid Build Coastguard Worker               OpStore %a %26
57*c8dee2aaSAndroid Build Coastguard Worker         %28 = OpFunctionCall %v4float %bar_h4Z_aSecondSampler
58*c8dee2aaSAndroid Build Coastguard Worker               OpStore %b %28
59*c8dee2aaSAndroid Build Coastguard Worker         %29 = OpFAdd %v4float %26 %28
60*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %29
61*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
62*c8dee2aaSAndroid Build Coastguard Worker       %main = OpFunction %void None %31
63*c8dee2aaSAndroid Build Coastguard Worker         %32 = OpLabel
64*c8dee2aaSAndroid Build Coastguard Worker         %33 = OpFunctionCall %v4float %foo_h4
65*c8dee2aaSAndroid Build Coastguard Worker               OpReturn
66*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
67