Mask compared bits in atomic operation tests. am: b2ed9fbe1a am: e37b18673d am: 97ce4...
[platform/upstream/VK-GL-CTS.git] / modules / egl / teglColorClearCase.hpp
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