Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / FloatBitsToUint.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 %91 RelaxedPrecision
33 OpDecorate %94 RelaxedPrecision
34 OpDecorate %95 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 %uint = OpTypeInt 32 0
61 %v4uint = OpTypeVector %uint 4
62 %_ptr_Function_v4uint = OpTypePointer Function %v4uint
63 %uint_1065353216 = OpConstant %uint 1065353216
64 %uint_1073741824 = OpConstant %uint 1073741824
65 %uint_3225419776 = OpConstant %uint 3225419776
66 %uint_3229614080 = OpConstant %uint 3229614080
67 %51 = OpConstantComposite %v4uint %uint_1065353216 %uint_1073741824 %uint_3225419776 %uint_3229614080
68 %false = OpConstantFalse %bool
69 %v2uint = OpTypeVector %uint 2
70 %61 = OpConstantComposite %v2uint %uint_1065353216 %uint_1073741824
71 %v2bool = OpTypeVector %bool 2
72 %v3float = OpTypeVector %float 3
73 %v3uint = OpTypeVector %uint 3
74 %72 = OpConstantComposite %v3uint %uint_1065353216 %uint_1073741824 %uint_3225419776
75 %v3bool = OpTypeVector %bool 3
76 %v4bool = OpTypeVector %bool 4
77 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
78 %int_2 = OpConstant %int 2
79 %int_3 = OpConstant %int 3
80 %_entrypoint_v = OpFunction %void None %17
81 %18 = OpLabel
82 %21 = OpVariable %_ptr_Function_v2float Function
83 OpStore %21 %20
84 %23 = OpFunctionCall %v4float %main %21
85 OpStore %sk_FragColor %23
86 OpReturn
87 OpFunctionEnd
88 %main = OpFunction %v4float None %24
89 %25 = OpFunctionParameter %_ptr_Function_v2float
90 %26 = OpLabel
91 %inputVal = OpVariable %_ptr_Function_v4float Function
92 %expectedB = OpVariable %_ptr_Function_v4uint Function
93 %84 = OpVariable %_ptr_Function_v4float Function
94 %29 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_1
95 %33 = OpLoad %mat2v2float %29
96 %34 = OpCompositeExtract %float %33 0 0
97 %35 = OpCompositeExtract %float %33 0 1
98 %36 = OpCompositeExtract %float %33 1 0
99 %37 = OpCompositeExtract %float %33 1 1
100 %38 = OpCompositeConstruct %v4float %34 %35 %36 %37
101 %42 = OpFMul %v4float %38 %41
102 OpStore %inputVal %42
103 OpStore %expectedB %51
104 %54 = OpCompositeExtract %float %42 0
105 %53 = OpBitcast %uint %54
106 %55 = OpIEqual %bool %53 %uint_1065353216
107 OpSelectionMerge %57 None
108 OpBranchConditional %55 %56 %57
109 %56 = OpLabel
110 %59 = OpVectorShuffle %v2float %42 %42 0 1
111 %58 = OpBitcast %v2uint %59
112 %62 = OpIEqual %v2bool %58 %61
113 %64 = OpAll %bool %62
114 OpBranch %57
115 %57 = OpLabel
116 %65 = OpPhi %bool %false %26 %64 %56
117 OpSelectionMerge %67 None
118 OpBranchConditional %65 %66 %67
119 %66 = OpLabel
120 %69 = OpVectorShuffle %v3float %42 %42 0 1 2
121 %68 = OpBitcast %v3uint %69
122 %73 = OpIEqual %v3bool %68 %72
123 %75 = OpAll %bool %73
124 OpBranch %67
125 %67 = OpLabel
126 %76 = OpPhi %bool %false %57 %75 %66
127 OpSelectionMerge %78 None
128 OpBranchConditional %76 %77 %78
129 %77 = OpLabel
130 %79 = OpBitcast %v4uint %42
131 %80 = OpIEqual %v4bool %79 %51
132 %82 = OpAll %bool %80
133 OpBranch %78
134 %78 = OpLabel
135 %83 = OpPhi %bool %false %67 %82 %77
136 OpSelectionMerge %87 None
137 OpBranchConditional %83 %85 %86
138 %85 = OpLabel
139 %88 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
140 %91 = OpLoad %v4float %88
141 OpStore %84 %91
142 OpBranch %87
143 %86 = OpLabel
144 %92 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3
145 %94 = OpLoad %v4float %92
146 OpStore %84 %94
147 OpBranch %87
148 %87 = OpLabel
149 %95 = OpLoad %v4float %84
150 OpReturnValue %95
151 OpFunctionEnd