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 } // namespace glu 36 37 namespace sglr 38 { 39 class Context; 40 } // namespace 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, glu::RenderContext &renderCtx, const char *name, 77 const char *desc, const Vec4 &scissorArea, const Vec4 &renderArea, 78 PrimitiveType type, int primitiveCount); 79 tcu::TestNode *createClearTest(tcu::TestContext &testCtx, glu::RenderContext &renderCtx, const char *name, 80 const char *desc, const Vec4 &scissorArea, uint32_t clearMode); 81 82 tcu::TestNode *createFramebufferClearTest(tcu::TestContext &testCtx, glu::RenderContext &renderCtx, const char *name, 83 const char *desc, ClearType clearType); 84 85 tcu::TestNode *createFramebufferBlitTest(tcu::TestContext &testCtx, glu::RenderContext &renderCtx, const char *name, 86 const char *desc, const Vec4 &scissorArea); 87 88 } // namespace ScissorTestInternal 89 } // namespace Functional 90 } // namespace gls 91 } // namespace deqp 92 93 #endif // _GLSSCISSORTESTS_HPP 94