xref: /aosp_15_r20/external/skia/tests/sksl/shared/ArrayUnsizedParam.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %main "main" %sk_FragColor
5               OpExecutionMode %main OriginUpperLeft
6               OpName %testStorageBuffer "testStorageBuffer"
7               OpMemberName %testStorageBuffer 0 "testArr"
8               OpName %S "S"
9               OpMemberName %S 0 "y"
10               OpName %testStorageBufferStruct "testStorageBufferStruct"
11               OpMemberName %testStorageBufferStruct 0 "testArrStruct"
12               OpName %sk_FragColor "sk_FragColor"
13               OpName %unsizedInParameterA_ff_testArr "unsizedInParameterA_ff_testArr"
14               OpName %unsizedInParameterB_fS_testArrStruct "unsizedInParameterB_fS_testArrStruct"
15               OpName %unsizedInParameterC_ff_testArr "unsizedInParameterC_ff_testArr"
16               OpName %unsizedInParameterD_fS_testArrStruct "unsizedInParameterD_fS_testArrStruct"
17               OpName %unsizedInParameterE_ff_testArr "unsizedInParameterE_ff_testArr"
18               OpName %unsizedInParameterF_fS_testArrStruct "unsizedInParameterF_fS_testArrStruct"
19               OpName %getColor_h4f_testArr "getColor_h4f_testArr"
20               OpName %getColor_helper_h4f_testArr "getColor_helper_h4f_testArr"
21               OpName %main "main"
22               OpDecorate %_runtimearr_float ArrayStride 4
23               OpMemberDecorate %testStorageBuffer 0 Offset 0
24               OpDecorate %testStorageBuffer BufferBlock
25               OpDecorate %11 Binding 0
26               OpDecorate %11 DescriptorSet 0
27               OpMemberDecorate %S 0 Offset 0
28               OpDecorate %_runtimearr_S ArrayStride 4
29               OpMemberDecorate %testStorageBufferStruct 0 Offset 0
30               OpMemberDecorate %testStorageBufferStruct 0 RelaxedPrecision
31               OpDecorate %testStorageBufferStruct BufferBlock
32               OpDecorate %16 Binding 1
33               OpDecorate %16 DescriptorSet 0
34               OpDecorate %sk_FragColor RelaxedPrecision
35               OpDecorate %sk_FragColor Location 0
36               OpDecorate %sk_FragColor Index 0
37               OpDecorate %56 RelaxedPrecision
38      %float = OpTypeFloat 32
39%_runtimearr_float = OpTypeRuntimeArray %float
40%testStorageBuffer = OpTypeStruct %_runtimearr_float
41%_ptr_Uniform_testStorageBuffer = OpTypePointer Uniform %testStorageBuffer
42         %11 = OpVariable %_ptr_Uniform_testStorageBuffer Uniform
43          %S = OpTypeStruct %float
44%_runtimearr_S = OpTypeRuntimeArray %S
45%testStorageBufferStruct = OpTypeStruct %_runtimearr_S
46%_ptr_Uniform_testStorageBufferStruct = OpTypePointer Uniform %testStorageBufferStruct
47         %16 = OpVariable %_ptr_Uniform_testStorageBufferStruct Uniform
48    %v4float = OpTypeVector %float 4
49%_ptr_Output_v4float = OpTypePointer Output %v4float
50%sk_FragColor = OpVariable %_ptr_Output_v4float Output
51         %24 = OpTypeFunction %float
52        %int = OpTypeInt 32 1
53      %int_0 = OpConstant %int 0
54%_ptr_Uniform_float = OpTypePointer Uniform %float
55    %float_0 = OpConstant %float 0
56         %43 = OpTypeFunction %v4float
57      %int_1 = OpConstant %int 1
58      %int_2 = OpConstant %int 2
59      %int_3 = OpConstant %int 3
60       %void = OpTypeVoid
61         %60 = OpTypeFunction %void
62%unsizedInParameterA_ff_testArr = OpFunction %float None %24
63         %25 = OpLabel
64         %28 = OpAccessChain %_ptr_Uniform_float %11 %int_0 %int_0
65         %30 = OpLoad %float %28
66               OpReturnValue %30
67               OpFunctionEnd
68%unsizedInParameterB_fS_testArrStruct = OpFunction %float None %24
69         %31 = OpLabel
70         %32 = OpAccessChain %_ptr_Uniform_float %16 %int_0 %int_0 %int_0
71         %33 = OpLoad %float %32
72               OpReturnValue %33
73               OpFunctionEnd
74%unsizedInParameterC_ff_testArr = OpFunction %float None %24
75         %34 = OpLabel
76         %35 = OpAccessChain %_ptr_Uniform_float %11 %int_0 %int_0
77         %36 = OpLoad %float %35
78               OpReturnValue %36
79               OpFunctionEnd
80%unsizedInParameterD_fS_testArrStruct = OpFunction %float None %24
81         %37 = OpLabel
82         %38 = OpAccessChain %_ptr_Uniform_float %16 %int_0 %int_0 %int_0
83         %39 = OpLoad %float %38
84               OpReturnValue %39
85               OpFunctionEnd
86%unsizedInParameterE_ff_testArr = OpFunction %float None %24
87         %40 = OpLabel
88               OpReturnValue %float_0
89               OpFunctionEnd
90%unsizedInParameterF_fS_testArrStruct = OpFunction %float None %24
91         %42 = OpLabel
92               OpReturnValue %float_0
93               OpFunctionEnd
94%getColor_h4f_testArr = OpFunction %v4float None %43
95         %44 = OpLabel
96         %45 = OpAccessChain %_ptr_Uniform_float %11 %int_0 %int_0
97         %46 = OpLoad %float %45
98         %48 = OpAccessChain %_ptr_Uniform_float %11 %int_0 %int_1
99         %49 = OpLoad %float %48
100         %51 = OpAccessChain %_ptr_Uniform_float %11 %int_0 %int_2
101         %52 = OpLoad %float %51
102         %54 = OpAccessChain %_ptr_Uniform_float %11 %int_0 %int_3
103         %55 = OpLoad %float %54
104         %56 = OpCompositeConstruct %v4float %46 %49 %52 %55
105               OpReturnValue %56
106               OpFunctionEnd
107%getColor_helper_h4f_testArr = OpFunction %v4float None %43
108         %57 = OpLabel
109         %58 = OpFunctionCall %v4float %getColor_h4f_testArr
110               OpReturnValue %58
111               OpFunctionEnd
112       %main = OpFunction %void None %60
113         %61 = OpLabel
114         %62 = OpFunctionCall %v4float %getColor_helper_h4f_testArr
115               OpStore %sk_FragColor %62
116         %63 = OpFunctionCall %float %unsizedInParameterA_ff_testArr
117         %64 = OpFunctionCall %float %unsizedInParameterB_fS_testArrStruct
118         %65 = OpFunctionCall %float %unsizedInParameterC_ff_testArr
119         %66 = OpFunctionCall %float %unsizedInParameterD_fS_testArrStruct
120         %67 = OpFunctionCall %float %unsizedInParameterE_ff_testArr
121         %68 = OpFunctionCall %float %unsizedInParameterF_fS_testArrStruct
122               OpReturn
123               OpFunctionEnd
124