Home | History | Annotate | Download | only in glshared
      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
    109