13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*------------------------------------------------------------------------- 23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program OpenGL ES 2.0 Module 33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * ------------------------------------------------- 43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Copyright 2014 The Android Open Source Project 63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Licensed under the Apache License, Version 2.0 (the "License"); 83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * you may not use this file except in compliance with the License. 93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * You may obtain a copy of the License at 103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * http://www.apache.org/licenses/LICENSE-2.0 123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Unless required by applicable law or agreed to in writing, software 143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * distributed under the License is distributed on an "AS IS" BASIS, 153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * See the License for the specific language governing permissions and 173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * limitations under the License. 183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*! 203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \file 213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \brief State change call performance tests. 223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/ 233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "es2pStateChangeCallTests.hpp" 253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "glsStateChangePerfTestCases.hpp" 263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "glwFunctions.hpp" 273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "glwEnums.hpp" 283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 293c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace deqp 303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 313c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace gles2 323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 333c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace Performance 343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 363c827367444ee418f129b2c238299f49d3264554Jarkko Poyryusing namespace glw; 373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 383c827367444ee418f129b2c238299f49d3264554Jarkko PoyryStateChangeCallTests::StateChangeCallTests (Context& context) 393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : TestCaseGroup(context, "state_change_only", "Test cost of state change calls without rendering anything") 403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 433c827367444ee418f129b2c238299f49d3264554Jarkko PoyryStateChangeCallTests::~StateChangeCallTests (void) 443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ARG_LIST(...) __VA_ARGS__ 483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ADD_ARG_CASE1(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0)\ 503c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydo {\ 513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry class StateChangeCallTest_ ## NAME : public gls::StateChangeCallPerformanceCase\ 523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry public:\ 543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateChangeCallTest_ ## NAME (Context& context, const char* name, const char* description)\ 553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : gls::StateChangeCallPerformanceCase(context.getTestContext(), context.getRenderContext(), name, description)\ 563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual void execCalls (const glw::Functions& gl, int iterNdx, int callCount)\ 593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 args0[] = ARGS0;\ 613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int callNdx = 0; callNdx < callCount; callNdx++)\ 623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const int baseNdx = iterNdx*callCount + callNdx;\ 643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 arg0 = args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\ 653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gl.FUNCNAME(arg0);\ 663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry };\ 693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\ 703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0); 713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ADD_ARG_CASE2(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0, TYPE1, ARGS1)\ 733c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydo {\ 743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry class StateChangeCallTest_ ## NAME : public gls::StateChangeCallPerformanceCase\ 753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry public:\ 773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateChangeCallTest_ ## NAME (Context& context, const char* name, const char* description)\ 783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : gls::StateChangeCallPerformanceCase(context.getTestContext(), context.getRenderContext(), name, description)\ 793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual void execCalls (const glw::Functions& gl, int iterNdx, int callCount)\ 823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 args0[] = ARGS0;\ 843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 args1[] = ARGS1;\ 853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int callNdx = 0; callNdx < callCount; callNdx++)\ 863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const int baseNdx = iterNdx*callCount + callNdx;\ 883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 arg0 = args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\ 893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 arg1 = args1[baseNdx%DE_LENGTH_OF_ARRAY(args1)];\ 903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gl.FUNCNAME(arg0, arg1);\ 913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry };\ 943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\ 953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0); 963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ADD_ARG_CASE3(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0, TYPE1, ARGS1, TYPE2, ARGS2)\ 983c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydo {\ 993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry class StateChangeCallTest_ ## NAME : public gls::StateChangeCallPerformanceCase\ 1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry public:\ 1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateChangeCallTest_ ## NAME (Context& context, const char* name, const char* description)\ 1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : gls::StateChangeCallPerformanceCase(context.getTestContext(), context.getRenderContext(), name, description)\ 1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual void execCalls (const glw::Functions& gl, int iterNdx, int callCount)\ 1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 args0[] = ARGS0;\ 1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 args1[] = ARGS1;\ 1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE2 args2[] = ARGS2;\ 1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int callNdx = 0; callNdx < callCount; callNdx++)\ 1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const int baseNdx = iterNdx*callCount + callNdx;\ 1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 arg0 = args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\ 1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 arg1 = args1[baseNdx%DE_LENGTH_OF_ARRAY(args1)];\ 1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE2 arg2 = args2[baseNdx%DE_LENGTH_OF_ARRAY(args2)];\ 1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gl.FUNCNAME(arg0, arg1, arg2);\ 1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry };\ 1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\ 1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0); 1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ADD_ARG_CASE4(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0, TYPE1, ARGS1, TYPE2, ARGS2, TYPE3, ARGS3)\ 1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydo {\ 1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry class StateChangeCallTest_ ## NAME : public gls::StateChangeCallPerformanceCase\ 1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry public:\ 1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateChangeCallTest_ ## NAME (Context& context, const char* name, const char* description)\ 1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : gls::StateChangeCallPerformanceCase(context.getTestContext(), context.getRenderContext(), name, description)\ 1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual void execCalls (const glw::Functions& gl, int iterNdx, int callCount)\ 1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 args0[] = ARGS0;\ 1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 args1[] = ARGS1;\ 1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE2 args2[] = ARGS2;\ 1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE3 args3[] = ARGS3;\ 1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int callNdx = 0; callNdx < callCount; callNdx++)\ 1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const int baseNdx = iterNdx*callCount + callNdx;\ 1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 arg0 = args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\ 1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 arg1 = args1[baseNdx%DE_LENGTH_OF_ARRAY(args1)];\ 1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE2 arg2 = args2[baseNdx%DE_LENGTH_OF_ARRAY(args2)];\ 1453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE3 arg3 = args3[baseNdx%DE_LENGTH_OF_ARRAY(args3)];\ 1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gl.FUNCNAME(arg0, arg1, arg2, arg3);\ 1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry };\ 1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\ 1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0); 1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ADD_ARG_CASE6(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0, TYPE1, ARGS1, TYPE2, ARGS2, TYPE3, ARGS3, TYPE4, ARGS4, TYPE5, ARGS5)\ 1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydo {\ 1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry class StateChangeCallTest_ ## NAME : public gls::StateChangeCallPerformanceCase\ 1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry public:\ 1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry StateChangeCallTest_ ## NAME (Context& context, const char* name, const char* description)\ 1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry : gls::StateChangeCallPerformanceCase(context.getTestContext(), context.getRenderContext(), name, description)\ 1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry virtual void execCalls (const glw::Functions& gl, int iterNdx, int callCount)\ 1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 args0[] = ARGS0;\ 1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 args1[] = ARGS1;\ 1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE2 args2[] = ARGS2;\ 1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE3 args3[] = ARGS3;\ 1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE4 args4[] = ARGS4;\ 1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE5 args5[] = ARGS5;\ 1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry for (int callNdx = 0; callNdx < callCount; callNdx++)\ 1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry {\ 1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const int baseNdx = iterNdx*callCount + callNdx;\ 1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE0 arg0 = args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\ 1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE1 arg1 = args1[baseNdx%DE_LENGTH_OF_ARRAY(args1)];\ 1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE2 arg2 = args2[baseNdx%DE_LENGTH_OF_ARRAY(args2)];\ 1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE3 arg3 = args3[baseNdx%DE_LENGTH_OF_ARRAY(args3)];\ 1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE4 arg4 = args4[baseNdx%DE_LENGTH_OF_ARRAY(args4)];\ 1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry const TYPE5 arg5 = args5[baseNdx%DE_LENGTH_OF_ARRAY(args5)];\ 1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry gl.FUNCNAME(arg0, arg1, arg2, arg3, arg4, arg5);\ 1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }\ 1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry };\ 1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\ 1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0); 1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyryvoid StateChangeCallTests::init (void) 1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(enable, "Test cost of glEnable() calls", 1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry enable, 1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CULL_FACE, 1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_POLYGON_OFFSET_FILL, 1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SAMPLE_ALPHA_TO_COVERAGE, 1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SAMPLE_COVERAGE, 1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SCISSOR_TEST, 1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_STENCIL_TEST, 1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DEPTH_TEST, 1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BLEND, 2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DITHER 2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(disable, "Test cost of glDisable() calls", 2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry disable, 2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CULL_FACE, 2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_POLYGON_OFFSET_FILL, 2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SAMPLE_ALPHA_TO_COVERAGE, 2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SAMPLE_COVERAGE, 2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SCISSOR_TEST, 2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_STENCIL_TEST, 2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DEPTH_TEST, 2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BLEND, 2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DITHER 2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(depth_func, "Test cost of glDepthFunc() calls", 2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry depthFunc, 2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NEVER, 2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ALWAYS, 2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_LESS, 2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_LEQUAL, 2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_EQUAL, 2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GREATER, 2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GEQUAL, 2313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NOTEQUAL 2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(depth_mask, "Test cost of glDepthMask() calls", 2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry depthMask, 2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(stencil_mask, "Test cost of glStencilMask() calls", 2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry stencilMask, 2463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(clear_depth, "Test cost of glClearDepth() calls", 2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry clearDepthf, 2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f 2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(clear_stencil, "Test cost of glClearStencil() calls", 2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry clearStencil, 2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 2663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 2683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 128, 2693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28 2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(line_width, "Test cost of glLineWidth() calls", 2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry lineWidth, 2753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLfloat, 2763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 2783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10.0f 2803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(cull_face, "Test cost of glCullFace() calls", 2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry cullFace, 2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT, 2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BACK, 2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT_AND_BACK 2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 2913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 2923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(front_face, "Test cost of glFrontFace() calls", 2943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry frontFace, 2953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 2963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 2973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CCW, 2983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CW 2993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(blend_equation, "Test cost of glBlendEquation() calls", 3033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry blendEquation, 3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_ADD, 3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_SUBTRACT, 3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_REVERSE_SUBTRACT 3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(enable_vertex_attrib_array, "Test cost of glEnableVertexAttribArray() calls", 3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry enableVertexAttribArray, 3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 3173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 3183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2, 3193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3, 3203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4, 3213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5, 3223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6, 3233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7, 3243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(disable_vertex_attrib_array, "Test cost of glDisableVertexAttribArray() calls", 3283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry disableVertexAttribArray, 3293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 3303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 3323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 3333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2, 3343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3, 3353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4, 3363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5, 3373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6, 3383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7, 3393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(use_program, "Test cost of glUseProgram() calls. Note: Uses only program 0.", 3433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry useProgram, 3443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 3453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 3473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE1(active_texture, "Test cost of glActiveTexture() calls", 3513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry activeTexture, 3523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 3533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE0, 3553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE1, 3563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE2, 3573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE3, 3583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE4, 3593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE5, 3603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE6, 3613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE7 3623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(depth_range, "Test cost of glDepthRangef() calls", 3663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry depthRangef, 3673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 3683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 3703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 3713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f 3723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 3733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 3743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 3763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 3773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f 3783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(polygon_offset, "Test cost of glPolygonOffset() calls", 3823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry polygonOffset, 3833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLfloat, 3843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 3863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 3873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 3883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10.0f 3893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 3903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLfloat, 3913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 3923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 3933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 3943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 3953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1000.0f 3963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 3973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 3983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(sample_coverage, "Test cost of glSampleCoverage() calls", 4003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry sampleCoverage, 4013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 4023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 4043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 4053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 4063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.67f 4073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 4083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 4093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 4113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 4123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 4133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 4143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(blend_func, "Test cost of glBlendFunc() calls", 4163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry blendFunc, 4173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 4183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 4203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE, 4213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_COLOR, 4223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_COLOR, 4233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_COLOR, 4243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_COLOR, 4253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_ALPHA, 4263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_ALPHA, 4273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_ALPHA, 4283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_ALPHA, 4293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_COLOR, 4303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_COLOR, 4313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_ALPHA, 4323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_ALPHA 4333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 4343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 4353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 4373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE, 4383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_COLOR, 4393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_COLOR, 4403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_COLOR, 4413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_COLOR, 4423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_ALPHA, 4433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_ALPHA, 4443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_ALPHA, 4453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_ALPHA, 4463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_COLOR, 4473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_COLOR, 4483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_ALPHA, 4493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_ALPHA 4503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 4513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 4523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(blend_equation_separate, "Test cost of glBlendEquationSeparate() calls", 4543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry blendEquationSeparate, 4553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 4563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_ADD, 4583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_SUBTRACT, 4593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_REVERSE_SUBTRACT 4603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 4613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 4623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_ADD, 4643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_SUBTRACT, 4653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FUNC_REVERSE_SUBTRACT 4663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 4673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 4683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(stencil_mask_separate, "Test cost of glStencilMaskSeparate() calls", 4703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry stencilMaskSeparate, 4713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 4723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT, 4743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BACK, 4753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT_AND_BACK 4763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 4773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 4783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 4803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 4813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 4823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 4833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(bind_buffer, "Test cost of glBindBuffer() calls. Note: Uses only buffer 0", 4853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bindBuffer, 4863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 4873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ELEMENT_ARRAY_BUFFER, 4893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ARRAY_BUFFER 4903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 4913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 4923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 4933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0 4943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 4953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 4963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(bind_texture, "Test cost of glBindTexture() calls. Note: Uses only texture 0", 4983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bindTexture, 4993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE_2D, 5023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TEXTURE_CUBE_MAP 5033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 5043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 5053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0 5073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 5083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 5093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE2(hint, "Test cost of glHint() calls", 5113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry hint, 5123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GENERATE_MIPMAP_HINT 5153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 5163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FASTEST, 5193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NICEST, 5203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DONT_CARE 5213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 5223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 5233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE3(stencil_func, "Test cost of glStencilFunc() calls", 5253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry stencilFunc, 5263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NEVER, 5293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ALWAYS, 5303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_LESS, 5313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_LEQUAL, 5323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_EQUAL, 5333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GEQUAL, 5343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GREATER, 5353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NOTEQUAL 5363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 5373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 5383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 5403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 5413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 255, 5423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 128, 5433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7 5443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 5453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 5463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 5483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 5493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 255, 5503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 128, 5513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7, 5523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0xFFFFFFFF 5533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 5543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 5553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE3(stencil_op, "Test cost of glStencilOp() calls", 5573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry stencilOp, 5583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_KEEP, 5613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 5623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_REPLACE, 5633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR, 5643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR, 5653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INVERT, 5663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR_WRAP, 5673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR_WRAP 5683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 5693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_KEEP, 5723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 5733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_REPLACE, 5743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR, 5753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR, 5763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INVERT, 5773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR_WRAP, 5783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR_WRAP 5793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 5803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 5813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_KEEP, 5833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 5843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_REPLACE, 5853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR, 5863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR, 5873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INVERT, 5883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR_WRAP, 5893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR_WRAP 5903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 5913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 5923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(viewport, "Test cost of glViewport() calls", 5943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry viewport, 5953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 5963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 5973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 5983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 5993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 6233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 6243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(scissor, "Test cost of glScissor() calls", 6263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry scissor, 6273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 100, 6533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1145235 6543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 6553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 6563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(stencil_func_separate, "Test cost of glStencilFuncSeparate() calls", 6583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry stencilFuncSeparate, 6593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 6603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT, 6623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BACK, 6633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT_AND_BACK 6643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 6663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NEVER, 6683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ALWAYS, 6693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_LESS, 6703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_LEQUAL, 6713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_EQUAL, 6723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GEQUAL, 6733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_GREATER, 6743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_NOTEQUAL 6753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 6773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 255, 6813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 128, 6823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7 6833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 6843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 6853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 6873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 6883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 255, 6893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 128, 6903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7, 6913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0xFFFFFFFF 6923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 6933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 6943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(stencil_op_separatae, "Test cost of glStencilOpSeparate() calls", 6963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry stencilOpSeparate, 6973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 6983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 6993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT, 7003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BACK, 7013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FRONT_AND_BACK 7023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 7033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_KEEP, 7063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_REPLACE, 7083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR, 7093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR, 7103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INVERT, 7113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR_WRAP, 7123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR_WRAP 7133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 7143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_KEEP, 7173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_REPLACE, 7193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR, 7203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR, 7213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INVERT, 7223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR_WRAP, 7233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR_WRAP 7243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 7253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_KEEP, 7283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_REPLACE, 7303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR, 7313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR, 7323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INVERT, 7333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_INCR_WRAP, 7343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DECR_WRAP 7353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 7363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 7373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(blend_func_separate, "Test cost of glBlendFuncSeparate() calls", 7393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry blendFuncSeparate, 7403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE, 7443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_COLOR, 7453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_COLOR, 7463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_COLOR, 7473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_COLOR, 7483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_ALPHA, 7493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_ALPHA, 7503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_ALPHA, 7513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_ALPHA, 7523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_COLOR, 7533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_COLOR, 7543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_ALPHA, 7553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_ALPHA 7563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 7573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE, 7613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_COLOR, 7623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_COLOR, 7633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_COLOR, 7643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_COLOR, 7653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_ALPHA, 7663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_ALPHA, 7673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_ALPHA, 7683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_ALPHA, 7693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_COLOR, 7703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_COLOR, 7713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_ALPHA, 7723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_ALPHA 7733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 7743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE, 7783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_COLOR, 7793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_COLOR, 7803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_COLOR, 7813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_COLOR, 7823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_ALPHA, 7833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_ALPHA, 7843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_ALPHA, 7853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_ALPHA, 7863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_COLOR, 7873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_COLOR, 7883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_ALPHA, 7893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_ALPHA 7903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 7913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 7923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 7933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ZERO, 7943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE, 7953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_COLOR, 7963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_COLOR, 7973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_COLOR, 7983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_COLOR, 7993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SRC_ALPHA, 8003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_SRC_ALPHA, 8013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_DST_ALPHA, 8023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_DST_ALPHA, 8033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_COLOR, 8043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_COLOR, 8053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_CONSTANT_ALPHA, 8063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_ONE_MINUS_CONSTANT_ALPHA 8073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 8083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 8093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(color_mask, "Test cost of glColorMask() calls", 8113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry colorMask, 8123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 8133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 8153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 8163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 8183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 8203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 8213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 8233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 8253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 8263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 8283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE, 8303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE 8313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 8323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 8333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE4(clear_color, "Test cost of glClearColor() calls", 8353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry clearColor, 8363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 8373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 8393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 8403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 8413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.33f 8423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 8443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 8463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 8473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 8483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.33f 8493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 8513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 8533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 8543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 8553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.33f 8563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLclampf, 8583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.0f, 8603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1.0f, 8613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.5f, 8623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0.33f 8633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 8643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 8653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ADD_ARG_CASE6(vertex_attrib_pointer, "Test cost of glVertexAttribPointer() calls", 8673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vertexAttribPointer, 8683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLuint, 8693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 8713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 8723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2, 8733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3, 8743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4, 8753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5, 8763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6, 8773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7 8783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLint, 8803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1, 8823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2, 8833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3, 8843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4 8853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLenum, 8873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_UNSIGNED_BYTE, 8893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_BYTE, 8903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_UNSIGNED_SHORT, 8913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_SHORT, 8923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FLOAT 8933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLboolean, 8953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 8963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_FALSE, 8973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GL_TRUE 8983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 8993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry GLsizei, 9003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 9013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 0, 9023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2, 9033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4 9043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }), 9053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void*, 9063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ARG_LIST({ 9073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry (void*)(deUintptr)(0x0FF), 9083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry (void*)(deUintptr)(0x0EF) 9093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry }) 9103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ); 9113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} 9123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Performance 9143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // gles2 9153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // deqp 916