1 #ifndef _GLSINTERACTIONTESTUTIL_HPP
2 #define _GLSINTERACTIONTESTUTIL_HPP
3 /*-------------------------------------------------------------------------
4 * drawElements Quality Program OpenGL (ES) Module
5 * -----------------------------------------------
7 * Copyright 2014 The Android Open Source Project
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
23 * \brief Interaction test utilities.
24 *//*--------------------------------------------------------------------*/
26 #include "tcuDefs.hpp"
27 #include "glsFragmentOpUtil.hpp"
28 #include "gluRenderContext.hpp"
29 #include "rrRenderState.hpp"
40 namespace InteractionTestUtil
63 deUint32 stencilFailOp;
83 bool scissorTestEnabled;
84 rr::WindowRectangle scissorRectangle;
86 bool stencilTestEnabled;
87 StencilState stencil[rr::FACETYPE_LAST];
89 bool depthTestEnabled;
94 BlendState blendRGBState;
95 BlendState blendAState;
100 tcu::BVec4 colorMask;
103 : scissorTestEnabled (false)
104 , scissorRectangle (0, 0, 0, 0)
105 , stencilTestEnabled (false)
106 , depthTestEnabled (false)
108 , depthWriteMask (false)
109 , blendEnabled (false)
110 , ditherEnabled (false)
117 gls::FragmentOpUtil::IntegerQuad quad;
121 void computeRandomRenderState (de::Random& rnd, RenderState& state, glu::ApiType apiType, int targetWidth, int targetHeight);
122 void computeRandomQuad (de::Random& rnd, gls::FragmentOpUtil::IntegerQuad& quad, int targetWidth, int targetHeight);
123 void computeRandomRenderCommands (de::Random& rnd, glu::ApiType apiType, int numCommands, int targetW, int targetH, std::vector<RenderCommand>& dst);
125 } // InteractionTestUtil
129 #endif // _GLSINTERACTIONTESTUTIL_HPP