Fix issues in pipeline.timestamp.transfer_tests am: 0f672f2a20 am: 9e85a126d2
[platform/upstream/VK-GL-CTS.git] / modules / glshared / glsScissorTests.hpp
1 #ifndef _GLSSCISSORTESTS_HPP
2 #define _GLSSCISSORTESTS_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 Common parts for ES2/3 scissor tests
24  *//*--------------------------------------------------------------------*/
25
26 #include "tcuDefs.hpp"
27 #include "tcuTestCase.hpp"
28 #include "tcuVectorType.hpp"
29 #include "tcuVector.hpp"
30 #include "sglrGLContext.hpp"
31
32 namespace glu
33 {
34 class RenderContext;
35 } // glu
36
37 namespace sglr
38 {
39 class Context;
40 } // sglr
41
42 namespace deqp
43 {
44 namespace gls
45 {
46 namespace Functional
47 {
48 namespace ScissorTestInternal
49 {
50
51 using tcu::Vec4;
52
53 enum PrimitiveType
54 {
55         POINT = 0,
56         LINE,
57         TRIANGLE,
58
59         PRIMITIVETYPE_LAST
60 };
61
62 enum ClearType
63 {
64         CLEAR_COLOR_FIXED = 0,
65         CLEAR_COLOR_FLOAT,
66         CLEAR_COLOR_INT,
67         CLEAR_COLOR_UINT,
68         CLEAR_DEPTH,
69         CLEAR_STENCIL,
70         CLEAR_DEPTH_STENCIL,
71
72         CLEAR_LAST
73 };
74
75 // Areas are of the form (x,y,widht,height) in the range [0,1]
76 tcu::TestNode*  createPrimitiveTest     (tcu::TestContext&              testCtx,
77                                                                          glu::RenderContext&    renderCtx,
78                                                                          const char*                    name,
79                                                                          const char*                    desc,
80                                                                          const Vec4&                    scissorArea,
81                                                                          const Vec4&                    renderArea,
82                                                                          PrimitiveType                  type,
83                                                                          int                                    primitiveCount);
84 tcu::TestNode*  createClearTest         (tcu::TestContext&              testCtx,
85                                                                          glu::RenderContext&    renderCtx,
86                                                                          const char*                    name,
87                                                                          const char*                    desc,
88                                                                          const Vec4&                    scissorArea,
89                                                                          deUint32                               clearMode);
90
91 tcu::TestNode* createFramebufferClearTest (tcu::TestContext&    testCtx,
92                                                                                    glu::RenderContext&  renderCtx,
93                                                                                    const char*                  name,
94                                                                                    const char*                  desc,
95                                                                                    ClearType                    clearType);
96
97 tcu::TestNode* createFramebufferBlitTest (tcu::TestContext&             testCtx,
98                                                                                   glu::RenderContext&   renderCtx,
99                                                                                   const char*                   name,
100                                                                                   const char*                   desc,
101                                                                                   const Vec4&                   scissorArea);
102
103 } // ScissorTestInternal
104 } // Functional
105 } // gls
106 } // deqp
107
108 #endif // _GLSSCISSORTESTS_HPP