1/*-------------------------------------------------------------------------
2 * drawElements Quality Program EGL Module
3 * ---------------------------------------
4 *
5 * Copyright 2014 The Android Open Source Project
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 *      http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 *
19 *//*!
20 * \file
21 * \brief OpenVG render utils.
22 *//*--------------------------------------------------------------------*/
23
24#include "teglVGRenderUtil.hpp"
25
26#if defined(DEQP_SUPPORT_VG)
27#	include <VG/openvg.h>
28#endif
29
30using std::vector;
31
32namespace deqp
33{
34namespace egl
35{
36namespace vg
37{
38
39#if defined(DEQP_SUPPORT_VG)
40
41void clear (int x, int y, int width, int height, const tcu::Vec4& color)
42{
43	vgSetfv(VG_CLEAR_COLOR, 4, color.getPtr());
44	vgClear(x, y, width, height);
45	TCU_CHECK(vgGetError() == VG_NO_ERROR);
46}
47
48void readPixels (tcu::Surface& dst, int x, int y, int width, int height)
49{
50	dst.setSize(width, height);
51	vgReadPixels(dst.getAccess().getDataPtr(), width*4, VG_sRGBA_8888, 0, 0, width, height);
52}
53
54#else // DEQP_SUPPORT_VG
55
56void clear (int x, int y, int width, int height, const tcu::Vec4& color)
57{
58	DE_UNREF(x && y && width && height);
59	DE_UNREF(color);
60	throw tcu::NotSupportedError("OpenVG is not supported", "", __FILE__, __LINE__);
61}
62
63void readPixels (tcu::Surface& dst, int x, int y, int width, int height)
64{
65	DE_UNREF(x && y && width && height);
66	DE_UNREF(dst);
67	throw tcu::NotSupportedError("OpenVG is not supported", "", __FILE__, __LINE__);
68}
69
70#endif // DEQP_SUPPORT_VG
71
72} // vg
73} // egl
74} // deqp
75