Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / LessThanEqual.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %main OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "a"
10 OpMemberName %_UniformBuffer 1 "b"
11 OpMemberName %_UniformBuffer 2 "c"
12 OpMemberName %_UniformBuffer 3 "d"
13 OpMemberName %_UniformBuffer 4 "e"
14 OpMemberName %_UniformBuffer 5 "f"
15 OpName %main "main"
16 OpName %expectTTFF "expectTTFF"
17 OpName %expectFFTT "expectFFTT"
18 OpDecorate %sk_FragColor RelaxedPrecision
19 OpDecorate %sk_FragColor Location 0
20 OpDecorate %sk_FragColor Index 0
21 OpDecorate %sk_Clockwise BuiltIn FrontFacing
22 OpMemberDecorate %_UniformBuffer 0 Offset 0
23 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24 OpMemberDecorate %_UniformBuffer 1 Offset 16
25 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26 OpMemberDecorate %_UniformBuffer 2 Offset 32
27 OpMemberDecorate %_UniformBuffer 3 Offset 40
28 OpMemberDecorate %_UniformBuffer 4 Offset 48
29 OpMemberDecorate %_UniformBuffer 5 Offset 64
30 OpDecorate %_UniformBuffer Block
31 OpDecorate %10 Binding 0
32 OpDecorate %10 DescriptorSet 0
33 OpDecorate %32 RelaxedPrecision
34 OpDecorate %35 RelaxedPrecision
35 OpDecorate %38 RelaxedPrecision
36 OpDecorate %52 RelaxedPrecision
37 OpDecorate %65 RelaxedPrecision
38 OpDecorate %68 RelaxedPrecision
39 OpDecorate %72 RelaxedPrecision
40 OpDecorate %75 RelaxedPrecision
41 %float = OpTypeFloat 32
42 %v4float = OpTypeVector %float 4
43 %_ptr_Output_v4float = OpTypePointer Output %v4float
44 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
45 %bool = OpTypeBool
46 %_ptr_Input_bool = OpTypePointer Input %bool
47 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
48 %uint = OpTypeInt 32 0
49 %v2uint = OpTypeVector %uint 2
50 %int = OpTypeInt 32 1
51 %v3int = OpTypeVector %int 3
52 %_UniformBuffer = OpTypeStruct %v4float %v4float %v2uint %v2uint %v3int %v3int
53 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
54 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
55 %void = OpTypeVoid
56 %18 = OpTypeFunction %void
57 %v4bool = OpTypeVector %bool 4
58 %_ptr_Function_v4bool = OpTypePointer Function %v4bool
59 %true = OpConstantTrue %bool
60 %false = OpConstantFalse %bool
61 %25 = OpConstantComposite %v4bool %true %true %false %false
62 %27 = OpConstantComposite %v4bool %false %false %true %true
63 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
64 %int_0 = OpConstant %int 0
65 %int_1 = OpConstant %int 1
66 %_ptr_Output_float = OpTypePointer Output %float
67 %_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint
68 %int_2 = OpConstant %int 2
69 %int_3 = OpConstant %int 3
70 %v2bool = OpTypeVector %bool 2
71 %_ptr_Uniform_v3int = OpTypePointer Uniform %v3int
72 %int_4 = OpConstant %int 4
73 %int_5 = OpConstant %int 5
74 %v3bool = OpTypeVector %bool 3
75 %main = OpFunction %void None %18
76 %19 = OpLabel
77 %expectTTFF = OpVariable %_ptr_Function_v4bool Function
78 %expectFFTT = OpVariable %_ptr_Function_v4bool Function
79 OpStore %expectTTFF %25
80 OpStore %expectFFTT %27
81 %29 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
82 %32 = OpLoad %v4float %29
83 %33 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
84 %35 = OpLoad %v4float %33
85 %28 = OpFOrdLessThanEqual %v4bool %32 %35
86 %36 = OpCompositeExtract %bool %28 0
87 %37 = OpSelect %int %36 %int_1 %int_0
88 %38 = OpConvertSToF %float %37
89 %39 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
90 OpStore %39 %38
91 %42 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_2
92 %45 = OpLoad %v2uint %42
93 %46 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_3
94 %48 = OpLoad %v2uint %46
95 %41 = OpULessThanEqual %v2bool %45 %48
96 %50 = OpCompositeExtract %bool %41 1
97 %51 = OpSelect %int %50 %int_1 %int_0
98 %52 = OpConvertSToF %float %51
99 %53 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1
100 OpStore %53 %52
101 %55 = OpAccessChain %_ptr_Uniform_v3int %10 %int_4
102 %58 = OpLoad %v3int %55
103 %59 = OpAccessChain %_ptr_Uniform_v3int %10 %int_5
104 %61 = OpLoad %v3int %59
105 %54 = OpSLessThanEqual %v3bool %58 %61
106 %63 = OpCompositeExtract %bool %54 2
107 %64 = OpSelect %int %63 %int_1 %int_0
108 %65 = OpConvertSToF %float %64
109 %66 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2
110 OpStore %66 %65
111 %68 = OpLoad %v4bool %expectTTFF
112 %67 = OpAny %bool %68
113 OpSelectionMerge %70 None
114 OpBranchConditional %67 %70 %69
115 %69 = OpLabel
116 %72 = OpLoad %v4bool %expectFFTT
117 %71 = OpAny %bool %72
118 OpBranch %70
119 %70 = OpLabel
120 %73 = OpPhi %bool %true %19 %71 %69
121 %74 = OpSelect %int %73 %int_1 %int_0
122 %75 = OpConvertSToF %float %74
123 %76 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_3
124 OpStore %76 %75
125 OpReturn
126 OpFunctionEnd