1#ifndef _GLSBUILTINPRECISIONTESTS_HPP
2#define _GLSBUILTINPRECISIONTESTS_HPP
3
4/*-------------------------------------------------------------------------
5 * drawElements Quality Program OpenGL (ES) Module
6 * -----------------------------------------------
7 *
8 * Copyright 2014 The Android Open Source Project
9 *
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
13 *
14 *      http://www.apache.org/licenses/LICENSE-2.0
15 *
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
21 *
22 *//*!
23 * \file
24 * \brief Tests for precision and range of GLSL builtins and types.
25 *//*--------------------------------------------------------------------*/
26
27#include "deUniquePtr.hpp"
28#include "tcuTestCase.hpp"
29#include "gluRenderContext.hpp"
30#include "gluShaderUtil.hpp"
31
32#include <vector>
33
34namespace deqp
35{
36namespace gls
37{
38namespace BuiltinPrecisionTests
39{
40
41class CaseFactory;
42
43class CaseFactories
44{
45public:
46	virtual											~CaseFactories	(void) {}
47	virtual const std::vector<const CaseFactory*>	getFactories	(void) const = 0;
48};
49
50de::MovePtr<const CaseFactories>		createES3BuiltinCases		(void);
51de::MovePtr<const CaseFactories>		createES31BuiltinCases		(void);
52
53void							addBuiltinPrecisionTests (
54	tcu::TestContext&					testCtx,
55	glu::RenderContext&					renderCtx,
56	const CaseFactories&				cases,
57	const std::vector<glu::ShaderType>&	shaderTypes,
58	tcu::TestCaseGroup&					dstGroup);
59
60} // BuiltinPrecisionTests
61
62using BuiltinPrecisionTests::addBuiltinPrecisionTests;
63
64} // gls
65} // deqp
66
67#endif // _GLSBUILTINPRECISIONTESTS_HPP
68