Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / IntBitsToFloat.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 "testInput"
10 OpMemberName %_UniformBuffer 1 "testMatrix2x2"
11 OpMemberName %_UniformBuffer 2 "colorGreen"
12 OpMemberName %_UniformBuffer 3 "colorRed"
13 OpName %_entrypoint_v "_entrypoint_v"
14 OpName %main "main"
15 OpName %inputVal "inputVal"
16 OpName %expectedB "expectedB"
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 1 Offset 16
23 OpMemberDecorate %_UniformBuffer 1 ColMajor
24 OpMemberDecorate %_UniformBuffer 1 MatrixStride 16
25 OpMemberDecorate %_UniformBuffer 2 Offset 48
26 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
27 OpMemberDecorate %_UniformBuffer 3 Offset 64
28 OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
29 OpDecorate %_UniformBuffer Block
30 OpDecorate %10 Binding 0
31 OpDecorate %10 DescriptorSet 0
32 OpDecorate %90 RelaxedPrecision
33 OpDecorate %93 RelaxedPrecision
34 OpDecorate %94 RelaxedPrecision
35 %float = OpTypeFloat 32
36 %v4float = OpTypeVector %float 4
37 %_ptr_Output_v4float = OpTypePointer Output %v4float
38 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
39 %bool = OpTypeBool
40 %_ptr_Input_bool = OpTypePointer Input %bool
41 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
42 %v2float = OpTypeVector %float 2
43 %mat2v2float = OpTypeMatrix %v2float 2
44 %_UniformBuffer = OpTypeStruct %float %mat2v2float %v4float %v4float
45 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
46 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
47 %void = OpTypeVoid
48 %17 = OpTypeFunction %void
49 %float_0 = OpConstant %float 0
50 %20 = OpConstantComposite %v2float %float_0 %float_0
51 %_ptr_Function_v2float = OpTypePointer Function %v2float
52 %24 = OpTypeFunction %v4float %_ptr_Function_v2float
53 %_ptr_Function_v4float = OpTypePointer Function %v4float
54 %_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float
55 %int = OpTypeInt 32 1
56 %int_1 = OpConstant %int 1
57 %float_1 = OpConstant %float 1
58 %float_n1 = OpConstant %float -1
59 %41 = OpConstantComposite %v4float %float_1 %float_1 %float_n1 %float_n1
60 %v4int = OpTypeVector %int 4
61 %_ptr_Function_v4int = OpTypePointer Function %v4int
62 %int_1065353216 = OpConstant %int 1065353216
63 %int_1073741824 = OpConstant %int 1073741824
64 %int_n1069547520 = OpConstant %int -1069547520
65 %int_n1065353216 = OpConstant %int -1065353216
66 %50 = OpConstantComposite %v4int %int_1065353216 %int_1073741824 %int_n1069547520 %int_n1065353216
67 %false = OpConstantFalse %bool
68 %v2int = OpTypeVector %int 2
69 %v2bool = OpTypeVector %bool 2
70 %v3float = OpTypeVector %float 3
71 %v3int = OpTypeVector %int 3
72 %v3bool = OpTypeVector %bool 3
73 %v4bool = OpTypeVector %bool 4
74 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
75 %int_2 = OpConstant %int 2
76 %int_3 = OpConstant %int 3
77 %_entrypoint_v = OpFunction %void None %17
78 %18 = OpLabel
79 %21 = OpVariable %_ptr_Function_v2float Function
80 OpStore %21 %20
81 %23 = OpFunctionCall %v4float %main %21
82 OpStore %sk_FragColor %23
83 OpReturn
84 OpFunctionEnd
85 %main = OpFunction %v4float None %24
86 %25 = OpFunctionParameter %_ptr_Function_v2float
87 %26 = OpLabel
88 %inputVal = OpVariable %_ptr_Function_v4float Function
89 %expectedB = OpVariable %_ptr_Function_v4int Function
90 %83 = OpVariable %_ptr_Function_v4float Function
91 %29 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_1
92 %33 = OpLoad %mat2v2float %29
93 %34 = OpCompositeExtract %float %33 0 0
94 %35 = OpCompositeExtract %float %33 0 1
95 %36 = OpCompositeExtract %float %33 1 0
96 %37 = OpCompositeExtract %float %33 1 1
97 %38 = OpCompositeConstruct %v4float %34 %35 %36 %37
98 %42 = OpFMul %v4float %38 %41
99 OpStore %inputVal %42
100 OpStore %expectedB %50
101 %52 = OpCompositeExtract %float %42 0
102 %53 = OpBitcast %float %int_1065353216
103 %54 = OpFOrdEqual %bool %52 %53
104 OpSelectionMerge %56 None
105 OpBranchConditional %54 %55 %56
106 %55 = OpLabel
107 %57 = OpVectorShuffle %v2float %42 %42 0 1
108 %59 = OpVectorShuffle %v2int %50 %50 0 1
109 %58 = OpBitcast %v2float %59
110 %61 = OpFOrdEqual %v2bool %57 %58
111 %63 = OpAll %bool %61
112 OpBranch %56
113 %56 = OpLabel
114 %64 = OpPhi %bool %false %26 %63 %55
115 OpSelectionMerge %66 None
116 OpBranchConditional %64 %65 %66
117 %65 = OpLabel
118 %67 = OpVectorShuffle %v3float %42 %42 0 1 2
119 %70 = OpVectorShuffle %v3int %50 %50 0 1 2
120 %69 = OpBitcast %v3float %70
121 %72 = OpFOrdEqual %v3bool %67 %69
122 %74 = OpAll %bool %72
123 OpBranch %66
124 %66 = OpLabel
125 %75 = OpPhi %bool %false %56 %74 %65
126 OpSelectionMerge %77 None
127 OpBranchConditional %75 %76 %77
128 %76 = OpLabel
129 %78 = OpBitcast %v4float %50
130 %79 = OpFOrdEqual %v4bool %42 %78
131 %81 = OpAll %bool %79
132 OpBranch %77
133 %77 = OpLabel
134 %82 = OpPhi %bool %false %66 %81 %76
135 OpSelectionMerge %86 None
136 OpBranchConditional %82 %84 %85
137 %84 = OpLabel
138 %87 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
139 %90 = OpLoad %v4float %87
140 OpStore %83 %90
141 OpBranch %86
142 %85 = OpLabel
143 %91 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3
144 %93 = OpLoad %v4float %91
145 OpStore %83 %93
146 OpBranch %86
147 %86 = OpLabel
148 %94 = OpLoad %v4float %83
149 OpReturnValue %94
150 OpFunctionEnd