13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#ifndef _GLSSCISSORTESTS_HPP
23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define _GLSSCISSORTESTS_HPP
33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*-------------------------------------------------------------------------
43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program OpenGL (ES) Module
53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * -----------------------------------------------
63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Copyright 2014 The Android Open Source Project
83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Licensed under the Apache License, Version 2.0 (the "License");
103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * you may not use this file except in compliance with the License.
113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * You may obtain a copy of the License at
123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *      http://www.apache.org/licenses/LICENSE-2.0
143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Unless required by applicable law or agreed to in writing, software
163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * distributed under the License is distributed on an "AS IS" BASIS,
173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * See the License for the specific language governing permissions and
193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * limitations under the License.
203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *
213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*!
223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \file
233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \brief Common parts for ES2/3 scissor tests
243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/
253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "tcuDefs.hpp"
273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "tcuTestCase.hpp"
283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "tcuVectorType.hpp"
293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "tcuVector.hpp"
303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "sglrGLContext.hpp"
313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
323c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace glu
333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
343c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass RenderContext;
353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // glu
363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
373c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace sglr
383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
393c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass Context;
403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // sglr
413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
423c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace deqp
433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
443c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace gls
453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
463c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace Functional
473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
488852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyrynamespace ScissorTestInternal
493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
518852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyryusing tcu::Vec4;
523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
538852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyryenum PrimitiveType
548852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry{
558852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	POINT = 0,
568852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	LINE,
578852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	TRIANGLE,
583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
598852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	PRIMITIVETYPE_LAST
603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
628852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyryenum ClearType
633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
648852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_COLOR_FIXED = 0,
658852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_COLOR_FLOAT,
668852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_COLOR_INT,
678852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_COLOR_UINT,
688852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_DEPTH,
698852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_STENCIL,
708852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_DEPTH_STENCIL,
718852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry
728852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry	CLEAR_LAST
733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry};
743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
758852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry// Areas are of the form (x,y,widht,height) in the range [0,1]
768852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyrytcu::TestNode*	createPrimitiveTest	(tcu::TestContext&		testCtx,
778852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 glu::RenderContext&	renderCtx,
788852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const char*			name,
798852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const char*			desc,
808852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const Vec4&			scissorArea,
818852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const Vec4&			renderArea,
828852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 PrimitiveType			type,
838852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 int					primitiveCount);
848852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyrytcu::TestNode*	createClearTest		(tcu::TestContext&		testCtx,
858852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 glu::RenderContext&	renderCtx,
868852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const char*			name,
878852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const char*			desc,
888852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 const Vec4&			scissorArea,
898852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry									 deUint32				clearMode);
908852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry
918852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyrytcu::TestNode* createFramebufferClearTest (tcu::TestContext&	testCtx,
928852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										   glu::RenderContext&	renderCtx,
938852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										   const char*			name,
948852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										   const char*			desc,
958852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										   ClearType			clearType);
968852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry
978852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyrytcu::TestNode* createFramebufferBlitTest (tcu::TestContext&		testCtx,
988852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										  glu::RenderContext&	renderCtx,
998852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										  const char*			name,
1008852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										  const char*			desc,
1018852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry										  const Vec4&			scissorArea);
1028852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry
1038852c82a1ffa4760985c17cc6875d5d521daf343Jarkko Poyry} // ScissorTestInternal
1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Functional
1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // gls
1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // deqp
1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#endif // _GLSSCISSORTESTS_HPP
109