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 
32 namespace deqp
33 {
34 namespace egl
35 {
36 
37 class SingleThreadColorClearCase : public MultiContextRenderCase
38 {
39 public:
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 
48 private:
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 
55 class MultiThreadColorClearCase : public MultiContextRenderCase
56 {
57 public:
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 
66 private:
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