Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / PackUnorm2x16.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 "colorGreen"
10 OpMemberName %_UniformBuffer 1 "colorRed"
11 OpMemberName %_UniformBuffer 2 "testInputs"
12 OpName %_entrypoint_v "_entrypoint_v"
13 OpName %main "main"
14 OpName %xy "xy"
15 OpName %zw "zw"
16 OpName %tolerance "tolerance"
17 OpDecorate %sk_FragColor RelaxedPrecision
18 OpDecorate %sk_FragColor Location 0
19 OpDecorate %sk_FragColor Index 0
20 OpDecorate %sk_Clockwise BuiltIn FrontFacing
21 OpMemberDecorate %_UniformBuffer 0 Offset 0
22 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 1 Offset 16
24 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25 OpMemberDecorate %_UniformBuffer 2 Offset 32
26 OpDecorate %_UniformBuffer Block
27 OpDecorate %10 Binding 0
28 OpDecorate %10 DescriptorSet 0
29 OpDecorate %68 RelaxedPrecision
30 OpDecorate %71 RelaxedPrecision
31 OpDecorate %72 RelaxedPrecision
32 %float = OpTypeFloat 32
33 %v4float = OpTypeVector %float 4
34 %_ptr_Output_v4float = OpTypePointer Output %v4float
35 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
36 %bool = OpTypeBool
37 %_ptr_Input_bool = OpTypePointer Input %bool
38 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
39 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
40 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
41 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
42 %void = OpTypeVoid
43 %15 = OpTypeFunction %void
44 %float_0 = OpConstant %float 0
45 %v2float = OpTypeVector %float 2
46 %19 = OpConstantComposite %v2float %float_0 %float_0
47 %_ptr_Function_v2float = OpTypePointer Function %v2float
48 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
49 %uint = OpTypeInt 32 0
50 %_ptr_Function_uint = OpTypePointer Function %uint
51 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
52 %int = OpTypeInt 32 1
53 %int_2 = OpConstant %int 2
54 %float_0_015625 = OpConstant %float 0.015625
55 %43 = OpConstantComposite %v2float %float_0_015625 %float_0_015625
56 %false = OpConstantFalse %bool
57 %v2bool = OpTypeVector %bool 2
58 %float_0_75 = OpConstant %float 0.75
59 %float_1 = OpConstant %float 1
60 %58 = OpConstantComposite %v2float %float_0_75 %float_1
61 %_ptr_Function_v4float = OpTypePointer Function %v4float
62 %int_0 = OpConstant %int 0
63 %int_1 = OpConstant %int 1
64 %_entrypoint_v = OpFunction %void None %15
65 %16 = OpLabel
66 %20 = OpVariable %_ptr_Function_v2float Function
67 OpStore %20 %19
68 %22 = OpFunctionCall %v4float %main %20
69 OpStore %sk_FragColor %22
70 OpReturn
71 OpFunctionEnd
72 %main = OpFunction %v4float None %23
73 %24 = OpFunctionParameter %_ptr_Function_v2float
74 %25 = OpLabel
75 %xy = OpVariable %_ptr_Function_uint Function
76 %zw = OpVariable %_ptr_Function_uint Function
77 %tolerance = OpVariable %_ptr_Function_v2float Function
78 %61 = OpVariable %_ptr_Function_v4float Function
79 %30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
80 %34 = OpLoad %v4float %30
81 %35 = OpVectorShuffle %v2float %34 %34 0 1
82 %29 = OpExtInst %uint %1 PackUnorm2x16 %35
83 OpStore %xy %29
84 %38 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
85 %39 = OpLoad %v4float %38
86 %40 = OpVectorShuffle %v2float %39 %39 2 3
87 %37 = OpExtInst %uint %1 PackUnorm2x16 %40
88 OpStore %zw %37
89 OpStore %tolerance %43
90 %48 = OpExtInst %v2float %1 UnpackUnorm2x16 %29
91 %47 = OpExtInst %v2float %1 FAbs %48
92 %46 = OpFOrdLessThan %v2bool %47 %43
93 %45 = OpAll %bool %46
94 OpSelectionMerge %51 None
95 OpBranchConditional %45 %50 %51
96 %50 = OpLabel
97 %55 = OpExtInst %v2float %1 UnpackUnorm2x16 %37
98 %59 = OpFSub %v2float %55 %58
99 %54 = OpExtInst %v2float %1 FAbs %59
100 %53 = OpFOrdLessThan %v2bool %54 %43
101 %52 = OpAll %bool %53
102 OpBranch %51
103 %51 = OpLabel
104 %60 = OpPhi %bool %false %25 %52 %50
105 OpSelectionMerge %65 None
106 OpBranchConditional %60 %63 %64
107 %63 = OpLabel
108 %66 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
109 %68 = OpLoad %v4float %66
110 OpStore %61 %68
111 OpBranch %65
112 %64 = OpLabel
113 %69 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
114 %71 = OpLoad %v4float %69
115 OpStore %61 %71
116 OpBranch %65
117 %65 = OpLabel
118 %72 = OpLoad %v4float %61
119 OpReturnValue %72
120 OpFunctionEnd