teglColorClearCase.hpp revision 3c67e4f0ec73f9c30c6b2ed2adfbfe7faaf576a4
1#ifndef _TEGLCOLORCLEARCASE_HPP
2#define _TEGLCOLORCLEARCASE_HPP
3/*-------------------------------------------------------------------------
4 * drawElements Quality Program EGL Module
5 * ---------------------------------------
6 *
7 * Copyright 2014 The Android Open Source Project
8 *
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 *      http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 *
21 *//*!
22 * \file
23 * \brief Color clear case.
24 *//*--------------------------------------------------------------------*/
25
26#include "tcuDefs.hpp"
27#include "teglTestCase.hpp"
28#include "teglRenderCase.hpp"
29
30#include <vector>
31
32namespace deqp
33{
34namespace egl
35{
36
37class SingleThreadColorClearCase : public MultiContextRenderCase
38{
39public:
40					SingleThreadColorClearCase	(EglTestContext&					eglTestCtx,
41												 const char*						name,
42												 const char*						description,
43												 eglw::EGLint						api,
44												 eglw::EGLint						surfaceType,
45												 const eglu::FilterList&			filters,
46												 int								numContextsPerApi);
47
48private:
49	virtual void	executeForContexts			(eglw::EGLDisplay												display,
50												 eglw::EGLSurface												surface,
51												 const Config&													config,
52												 const std::vector<std::pair<eglw::EGLint, eglw::EGLContext> >&	contexts);
53};
54
55class MultiThreadColorClearCase : public MultiContextRenderCase
56{
57public:
58					MultiThreadColorClearCase	(EglTestContext&					eglTestCtx,
59												 const char*						name,
60												 const char*						description,
61												 eglw::EGLint						api,
62												 eglw::EGLint						surfaceType,
63												 const eglu::FilterList&			filters,
64												 int								numContextsPerApi);
65
66private:
67	virtual void	executeForContexts			(eglw::EGLDisplay												display,
68												 eglw::EGLSurface												surface,
69												 const Config&													config,
70												 const std::vector<std::pair<eglw::EGLint, eglw::EGLContext> >&	contexts);
71};
72
73} // egl
74} // deqp
75
76#endif // _TEGLCOLORCLEARCASE_HPP
77