Merge "x11: Fix deadlock" into nougat-cts-dev
[platform/upstream/VK-GL-CTS.git] / modules / glshared / glsShaderLibraryCase.hpp
1 #ifndef _GLSSHADERLIBRARYCASE_HPP
2 #define _GLSSHADERLIBRARYCASE_HPP
3 /*-------------------------------------------------------------------------
4  * drawElements Quality Program OpenGL (ES) 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 Shader test case.
24  *//*--------------------------------------------------------------------*/
25
26 #include "gluDefs.hpp"
27 #include "gluShaderLibrary.hpp"
28 #include "tcuTestCase.hpp"
29
30 namespace glu
31 {
32 class RenderContext;
33 class ContextInfo;
34 }
35
36 namespace deqp
37 {
38 namespace gls
39 {
40
41 // ShaderCase node.
42
43 class ShaderLibraryCase : public tcu::TestCase
44 {
45 public:
46         // Methods.
47                                                                                         ShaderLibraryCase                                                               (tcu::TestContext&                                                      testCtx,
48                                                                                                                                                                                          glu::RenderContext&                                            renderCtx,
49                                                                                                                                                                                          const glu::ContextInfo&                                        contextInfo,
50                                                                                                                                                                                          const char*                                                            caseName,
51                                                                                                                                                                                          const char*                                                            description,
52                                                                                                                                                                                          const glu::sl::ShaderCaseSpecification&        specification);
53         virtual                                                                 ~ShaderLibraryCase                                                              (void);
54
55 private:
56         void                                                                    init                                                                                    (void);
57         bool                                                                    execute                                                                                 (void);
58         IterateResult                                                   iterate                                                                                 (void);
59
60                                                                                         ShaderLibraryCase                                                               (const ShaderLibraryCase&); // not allowed!
61         ShaderLibraryCase&                                              operator=                                                                               (const ShaderLibraryCase&); // not allowed!
62
63         // Member variables.
64         glu::RenderContext&                                             m_renderCtx;
65         const glu::ContextInfo&                                 m_contextInfo;
66         const glu::sl::ShaderCaseSpecification  m_spec;
67 };
68
69 } // gls
70 } // deqp
71
72 #endif // _GLSSHADERLIBRARYCASE_HPP