Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / shared / UniformArray.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "testArray"
10 OpMemberName %_UniformBuffer 1 "colorGreen"
11 OpMemberName %_UniformBuffer 2 "colorRed"
12 OpName %_entrypoint_v "_entrypoint_v"
13 OpName %main "main"
14 OpName %index "index"
15 OpDecorate %sk_FragColor RelaxedPrecision
16 OpDecorate %sk_FragColor Location 0
17 OpDecorate %sk_FragColor Index 0
18 OpDecorate %sk_Clockwise BuiltIn FrontFacing
19 OpDecorate %_arr_float_int_5 ArrayStride 16
20 OpMemberDecorate %_UniformBuffer 0 Offset 0
21 OpMemberDecorate %_UniformBuffer 1 Offset 80
22 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 2 Offset 96
24 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25 OpDecorate %_UniformBuffer Block
26 OpDecorate %10 Binding 0
27 OpDecorate %10 DescriptorSet 0
28 OpDecorate %55 RelaxedPrecision
29 OpDecorate %59 RelaxedPrecision
30 %float = OpTypeFloat 32
31 %v4float = OpTypeVector %float 4
32 %_ptr_Output_v4float = OpTypePointer Output %v4float
33 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
34 %bool = OpTypeBool
35 %_ptr_Input_bool = OpTypePointer Input %bool
36 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
37 %int = OpTypeInt 32 1
38 %int_5 = OpConstant %int 5
39 %_arr_float_int_5 = OpTypeArray %float %int_5
40 %_UniformBuffer = OpTypeStruct %_arr_float_int_5 %v4float %v4float
41 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
42 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
43 %void = OpTypeVoid
44 %18 = OpTypeFunction %void
45 %float_0 = OpConstant %float 0
46 %v2float = OpTypeVector %float 2
47 %22 = OpConstantComposite %v2float %float_0 %float_0
48 %_ptr_Function_v2float = OpTypePointer Function %v2float
49 %26 = OpTypeFunction %v4float %_ptr_Function_v2float
50 %_ptr_Function_int = OpTypePointer Function %int
51 %int_0 = OpConstant %int 0
52 %_ptr_Uniform__arr_float_int_5 = OpTypePointer Uniform %_arr_float_int_5
53 %_ptr_Uniform_float = OpTypePointer Uniform %float
54 %int_1 = OpConstant %int 1
55 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
56 %int_2 = OpConstant %int 2
57 %_entrypoint_v = OpFunction %void None %18
58 %19 = OpLabel
59 %23 = OpVariable %_ptr_Function_v2float Function
60 OpStore %23 %22
61 %25 = OpFunctionCall %v4float %main %23
62 OpStore %sk_FragColor %25
63 OpReturn
64 OpFunctionEnd
65 %main = OpFunction %v4float None %26
66 %27 = OpFunctionParameter %_ptr_Function_v2float
67 %28 = OpLabel
68 %index = OpVariable %_ptr_Function_int Function
69 OpStore %index %int_0
70 OpBranch %32
71 %32 = OpLabel
72 OpLoopMerge %36 %35 None
73 OpBranch %33
74 %33 = OpLabel
75 %37 = OpLoad %int %index
76 %38 = OpSLessThan %bool %37 %int_5
77 OpBranchConditional %38 %34 %36
78 %34 = OpLabel
79 %39 = OpAccessChain %_ptr_Uniform__arr_float_int_5 %10 %int_0
80 %41 = OpLoad %int %index
81 %42 = OpAccessChain %_ptr_Uniform_float %39 %41
82 %44 = OpLoad %float %42
83 %45 = OpLoad %int %index
84 %47 = OpIAdd %int %45 %int_1
85 %48 = OpConvertSToF %float %47
86 %49 = OpFUnordNotEqual %bool %44 %48
87 OpSelectionMerge %51 None
88 OpBranchConditional %49 %50 %51
89 %50 = OpLabel
90 %52 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
91 %55 = OpLoad %v4float %52
92 OpReturnValue %55
93 %51 = OpLabel
94 OpBranch %35
95 %35 = OpLabel
96 %56 = OpLoad %int %index
97 %57 = OpIAdd %int %56 %int_1
98 OpStore %index %57
99 OpBranch %32
100 %36 = OpLabel
101 %58 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
102 %59 = OpLoad %v4float %58
103 OpReturnValue %59
104 OpFunctionEnd