13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*-------------------------------------------------------------------------
23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program OpenGL ES 3.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 "es3pStateChangeCallTests.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 gles3
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_CASE5(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0, TYPE1, ARGS1, TYPE2, ARGS2, TYPE3, ARGS3, TYPE4, ARGS4)\
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			for (int callNdx = 0; callNdx < callCount; callNdx++)\
1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{\
1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const int		baseNdx		= iterNdx*callCount + callNdx;\
1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE0		arg0		= args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\
1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE1		arg1		= args1[baseNdx%DE_LENGTH_OF_ARRAY(args1)];\
1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE2		arg2		= args2[baseNdx%DE_LENGTH_OF_ARRAY(args2)];\
1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE3		arg3		= args3[baseNdx%DE_LENGTH_OF_ARRAY(args3)];\
1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE4		arg4		= args4[baseNdx%DE_LENGTH_OF_ARRAY(args4)];\
1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl.FUNCNAME(arg0, arg1, arg2, arg3, arg4);\
1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}\
1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}\
1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};\
1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\
1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0);
1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define ADD_ARG_CASE6(NAME, DESCRIPTION, FUNCNAME, TYPE0, ARGS0, TYPE1, ARGS1, TYPE2, ARGS2, TYPE3, ARGS3, TYPE4, ARGS4, TYPE5, ARGS5)\
1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyrydo {\
1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	class StateChangeCallTest_ ## NAME : public gls::StateChangeCallPerformanceCase\
1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	{\
1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	public:\
1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		StateChangeCallTest_ ## NAME (Context& context, const char* name, const char* description)\
1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			: gls::StateChangeCallPerformanceCase(context.getTestContext(), context.getRenderContext(), name, description)\
1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		{\
1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}\
1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		virtual void execCalls (const glw::Functions& gl, int iterNdx, int callCount)\
1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		{\
1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			const TYPE0 args0[] = ARGS0;\
1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			const TYPE1 args1[] = ARGS1;\
1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			const TYPE2 args2[] = ARGS2;\
1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			const TYPE3 args3[] = ARGS3;\
1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			const TYPE4 args4[] = ARGS4;\
2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			const TYPE5 args5[] = ARGS5;\
2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			for (int callNdx = 0; callNdx < callCount; callNdx++)\
2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			{\
2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const int		baseNdx		= iterNdx*callCount + callNdx;\
2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE0		arg0		= args0[baseNdx%DE_LENGTH_OF_ARRAY(args0)];\
2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE1		arg1		= args1[baseNdx%DE_LENGTH_OF_ARRAY(args1)];\
2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE2		arg2		= args2[baseNdx%DE_LENGTH_OF_ARRAY(args2)];\
2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE3		arg3		= args3[baseNdx%DE_LENGTH_OF_ARRAY(args3)];\
2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE4		arg4		= args4[baseNdx%DE_LENGTH_OF_ARRAY(args4)];\
2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				const TYPE5		arg5		= args5[baseNdx%DE_LENGTH_OF_ARRAY(args5)];\
2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry				gl.FUNCNAME(arg0, arg1, arg2, arg3, arg4, arg5);\
2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			}\
2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}\
2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	};\
2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	addChild(new StateChangeCallTest_ ## NAME (m_context, #NAME, DESCRIPTION));\
2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}while (0);
2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyryvoid StateChangeCallTests::init (void)
2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{
2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(enable, "Test cost of glEnable() calls",
2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		enable,
2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CULL_FACE,
2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_POLYGON_OFFSET_FILL,
2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SAMPLE_ALPHA_TO_COVERAGE,
2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SAMPLE_COVERAGE,
2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SCISSOR_TEST,
2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_STENCIL_TEST,
2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DEPTH_TEST,
2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BLEND,
2313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DITHER,
2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_RASTERIZER_DISCARD,
2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_PRIMITIVE_RESTART_FIXED_INDEX
2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(disable, "Test cost of glDisable() calls",
2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		disable,
2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CULL_FACE,
2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_POLYGON_OFFSET_FILL,
2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SAMPLE_ALPHA_TO_COVERAGE,
2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SAMPLE_COVERAGE,
2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SCISSOR_TEST,
2463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_STENCIL_TEST,
2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DEPTH_TEST,
2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BLEND,
2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DITHER,
2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_RASTERIZER_DISCARD,
2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_PRIMITIVE_RESTART_FIXED_INDEX
2523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(depth_func, "Test cost of glDepthFunc() calls",
2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		depthFunc,
2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NEVER,
2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ALWAYS,
2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_LESS,
2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_LEQUAL,
2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_EQUAL,
2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GREATER,
2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GEQUAL,
2663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NOTEQUAL
2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
2683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
2693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(depth_mask, "Test cost of glDepthMask() calls",
2713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		depthMask,
2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
2753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
2763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
2773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
2783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(stencil_mask, "Test cost of glStencilMask() calls",
2803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		stencilMask,
2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(clear_depth, "Test cost of glClearDepth() calls",
2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		clearDepthf,
2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
2913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
2923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
2933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
2943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f
2953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
2963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
2973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
2983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(clear_stencil, "Test cost of glClearStencil() calls",
2993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		clearStencil,
3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
3033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			128,
3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			28
3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(line_width, "Test cost of glLineWidth() calls",
3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		lineWidth,
3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLfloat,
3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			10.0f
3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(cull_face, "Test cost of glCullFace() calls",
3193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		cullFace,
3203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
3213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT,
3233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BACK,
3243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT_AND_BACK
3253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(front_face, "Test cost of glFrontFace() calls",
3293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		frontFace,
3303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
3313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CCW,
3333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CW
3343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(blend_equation, "Test cost of glBlendEquation() calls",
3383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		blendEquation,
3393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
3403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_ADD,
3423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_SUBTRACT,
3433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_REVERSE_SUBTRACT
3443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(enable_vertex_attrib_array, "Test cost of glEnableVertexAttribArray() calls",
3483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		enableVertexAttribArray,
3493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
3503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
3523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
3533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
3543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
3553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4,
3563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			5,
3573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			6,
3583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7,
3593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(disable_vertex_attrib_array, "Test cost of glDisableVertexAttribArray() calls",
3633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		disableVertexAttribArray,
3643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
3653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
3673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
3683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
3693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
3703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4,
3713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			5,
3723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			6,
3733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7,
3743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(use_program, "Test cost of glUseProgram() calls. Note: Uses only program 0.",
3783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		useProgram,
3793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
3803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
3823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
3853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(active_texture, "Test cost of glActiveTexture() calls",
3863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		activeTexture,
3873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
3883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
3893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE0,
3903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE1,
3913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE2,
3923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE3,
3933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE4,
3943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE5,
3953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE6,
3963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE7
3973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
3983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
3993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(depth_range, "Test cost of glDepthRangef() calls",
4013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		depthRangef,
4023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
4033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
4053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
4063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f
4073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
4083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
4093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
4113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
4123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f
4133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
4143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
4153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(polygon_offset, "Test cost of glPolygonOffset() calls",
4173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		polygonOffset,
4183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLfloat,
4193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
4213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
4223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
4233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			10.0f
4243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
4253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLfloat,
4263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
4283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
4293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
4303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1000.0f
4313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
4323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
4333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(sample_coverage, "Test cost of glSampleCoverage() calls",
4353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		sampleCoverage,
4363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
4373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
4393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
4403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
4413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.67f
4423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
4433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
4443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
4463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
4473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
4483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
4493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(blend_func, "Test cost of glBlendFunc() calls",
4513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		blendFunc,
4523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
4533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
4553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE,
4563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_COLOR,
4573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_COLOR,
4583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_COLOR,
4593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_COLOR,
4603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_ALPHA,
4613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_ALPHA,
4623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_ALPHA,
4633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_ALPHA,
4643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_COLOR,
4653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_COLOR,
4663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_ALPHA,
4673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_ALPHA
4683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
4693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
4703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
4723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE,
4733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_COLOR,
4743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_COLOR,
4753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_COLOR,
4763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_COLOR,
4773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_ALPHA,
4783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_ALPHA,
4793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_ALPHA,
4803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_ALPHA,
4813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_COLOR,
4823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_COLOR,
4833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_ALPHA,
4843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_ALPHA
4853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
4863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
4873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
4883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(blend_equation_separate, "Test cost of glBlendEquationSeparate() calls",
4893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		blendEquationSeparate,
4903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
4913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_ADD,
4933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_SUBTRACT,
4943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_REVERSE_SUBTRACT
4953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
4963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
4973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
4983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_ADD,
4993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_SUBTRACT,
5003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FUNC_REVERSE_SUBTRACT
5013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(stencil_mask_separate, "Test cost of glStencilMaskSeparate() calls",
5053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		stencilMaskSeparate,
5063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
5073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT,
5093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BACK,
5103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT_AND_BACK
5113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
5123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
5133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
5153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
5163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(bind_buffer, "Test cost of glBindBuffer() calls. Note: Uses only buffer 0",
5203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		bindBuffer,
5213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
5223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ELEMENT_ARRAY_BUFFER,
5243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ARRAY_BUFFER
5253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
5263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
5273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
5293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(bind_texture, "Test cost of glBindTexture() calls. Note: Uses only texture 0",
5333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		bindTexture,
5343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
5353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE_2D,
5373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TEXTURE_CUBE_MAP
5383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
5393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
5403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
5423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(bind_sampler, "Test cost of glBindSampler() calls. Note: Uses only sampler 0",
5463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		bindSampler,
5473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
5483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
5503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
5513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
5523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
5533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4,
5543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			5,
5553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			6,
5563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7
5573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
5583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
5593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
5613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE1(bind_vertex_array, "Test cost of glBindVertexArray() calls. Note: Uses only VAO 0",
5653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		bindVertexArray,
5663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
5673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
5693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(hint, "Test cost of glHint() calls",
5733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		hint,
5743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
5753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GENERATE_MIPMAP_HINT
5773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
5783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
5793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FASTEST,
5813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NICEST,
5823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DONT_CARE
5833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
5843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
5853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
5863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE3(stencil_func, "Test cost of glStencilFunc() calls",
5873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		stencilFunc,
5883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
5893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
5903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NEVER,
5913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ALWAYS,
5923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_LESS,
5933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_LEQUAL,
5943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_EQUAL,
5953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GEQUAL,
5963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GREATER,
5973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NOTEQUAL
5983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
5993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			255,
6043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			128,
6053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7
6063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
6083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			255,
6123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			128,
6133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7,
6143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0xFFFFFFFF
6153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
6163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
6173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
6183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE3(stencil_op, "Test cost of glStencilOp() calls",
6193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		stencilOp,
6203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
6213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_KEEP,
6233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
6243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_REPLACE,
6253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR,
6263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR,
6273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INVERT,
6283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR_WRAP,
6293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR_WRAP
6303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
6323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_KEEP,
6343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
6353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_REPLACE,
6363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR,
6373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR,
6383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INVERT,
6393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR_WRAP,
6403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR_WRAP
6413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
6433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_KEEP,
6453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
6463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_REPLACE,
6473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR,
6483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR,
6493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INVERT,
6503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR_WRAP,
6513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR_WRAP
6523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
6533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
6543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
6553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(viewport, "Test cost of glViewport() calls",
6563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		viewport,
6573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
6623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
6633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
6693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
6703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
6763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
6773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
6833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
6843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
6853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
6863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
6873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(scissor, "Test cost of glScissor() calls",
6883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		scissor,
6893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
6933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
6943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
6953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
6963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
6973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
6983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
6993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
7003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
7013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
7023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
7043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
7063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
7073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
7083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
7093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
7113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
7133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
7143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			100,
7153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1145235
7163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
7173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
7183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
7193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(stencil_func_separate, "Test cost of glStencilFuncSeparate() calls",
7203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		stencilFuncSeparate,
7213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
7223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT,
7243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BACK,
7253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT_AND_BACK
7263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
7283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NEVER,
7303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ALWAYS,
7313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_LESS,
7323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_LEQUAL,
7333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_EQUAL,
7343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GEQUAL,
7353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_GREATER,
7363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_NOTEQUAL
7373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
7393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
7413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
7423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			255,
7433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			128,
7443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7
7453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
7473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
7493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
7503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			255,
7513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			128,
7523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7,
7533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0xFFFFFFFF
7543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
7553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
7563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
7573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(stencil_op_separatae, "Test cost of glStencilOpSeparate() calls",
7583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		stencilOpSeparate,
7593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
7603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT,
7623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BACK,
7633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FRONT_AND_BACK
7643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
7663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_KEEP,
7683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
7693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_REPLACE,
7703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR,
7713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR,
7723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INVERT,
7733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR_WRAP,
7743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR_WRAP
7753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
7773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_KEEP,
7793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
7803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_REPLACE,
7813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR,
7823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR,
7833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INVERT,
7843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR_WRAP,
7853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR_WRAP
7863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
7873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
7883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
7893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_KEEP,
7903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
7913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_REPLACE,
7923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR,
7933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR,
7943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INVERT,
7953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_INCR_WRAP,
7963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DECR_WRAP
7973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
7983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
7993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
8003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(blend_func_separate, "Test cost of glBlendFuncSeparate() calls",
8013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		blendFuncSeparate,
8023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
8033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
8053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE,
8063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_COLOR,
8073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_COLOR,
8083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_COLOR,
8093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_COLOR,
8103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_ALPHA,
8113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_ALPHA,
8123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_ALPHA,
8133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_ALPHA,
8143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_COLOR,
8153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_COLOR,
8163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_ALPHA,
8173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_ALPHA
8183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
8193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
8203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
8223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE,
8233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_COLOR,
8243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_COLOR,
8253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_COLOR,
8263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_COLOR,
8273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_ALPHA,
8283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_ALPHA,
8293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_ALPHA,
8303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_ALPHA,
8313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_COLOR,
8323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_COLOR,
8333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_ALPHA,
8343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_ALPHA
8353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
8363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
8373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
8393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE,
8403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_COLOR,
8413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_COLOR,
8423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_COLOR,
8433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_COLOR,
8443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_ALPHA,
8453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_ALPHA,
8463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_ALPHA,
8473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_ALPHA,
8483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_COLOR,
8493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_COLOR,
8503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_ALPHA,
8513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_ALPHA
8523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
8533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
8543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ZERO,
8563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE,
8573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_COLOR,
8583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_COLOR,
8593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_COLOR,
8603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_COLOR,
8613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SRC_ALPHA,
8623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_SRC_ALPHA,
8633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_DST_ALPHA,
8643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_DST_ALPHA,
8653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_COLOR,
8663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_COLOR,
8673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_CONSTANT_ALPHA,
8683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_ONE_MINUS_CONSTANT_ALPHA
8693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
8703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
8713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
8723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(color_mask, "Test cost of glColorMask() calls",
8733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		colorMask,
8743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
8753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
8773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
8783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
8793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
8803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
8823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
8833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
8843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
8853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
8873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
8883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
8893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
8903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
8913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE,
8923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE
8933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
8943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
8953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
8963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE4(clear_color, "Test cost of glClearColor() calls",
8973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		clearColor,
8983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
8993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
9013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
9023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
9033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.33f
9043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
9063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
9083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
9093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
9103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.33f
9113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
9133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
9153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
9163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
9173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.33f
9183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLclampf,
9203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.0f,
9223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1.0f,
9233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.5f,
9243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0.33f
9253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
9263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
9273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
9283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE6(vertex_attrib_pointer, "Test cost of glVertexAttribPointer() calls",
9293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertexAttribPointer,
9303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
9313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
9333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
9343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
9353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
9363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4,
9373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			5,
9383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			6,
9393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7
9403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLint,
9423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
9443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
9453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
9463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4
9473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLenum,
9493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_UNSIGNED_BYTE,
9513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_BYTE,
9523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_UNSIGNED_SHORT,
9533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_SHORT,
9543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FLOAT
9553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLboolean,
9573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_FALSE,
9593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_TRUE
9603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLsizei,
9623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
9643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
9653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4
9663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		void*,
9683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			(void*)(deUintptr)(0x0FF),
9703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			(void*)(deUintptr)(0x0EF)
9713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
9723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
9733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
9743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE2(vertex_attrib_divisor, "Test cost of glVertexAttribDivisor() calls",
9753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		vertexAttribDivisor,
9763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
9773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
9793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
9803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
9813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
9823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			4,
9833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			5,
9843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			6,
9853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7
9863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
9873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
9883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
9893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
9903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
9913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3,
9923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			7,
9933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			11,
9943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			127,
9953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			256
9963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
9973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
9983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
9993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE3(bind_buffer_base, "Test cost of glBindBufferBase() calls. Note: uses only buffer 0.",
10003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		bindBufferBase,
10013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
10023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_UNIFORM_BUFFER
10043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
10053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
10063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
10083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
10093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
10103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3
10113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
10123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
10133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
10153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
10163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
10173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
10183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	ADD_ARG_CASE5(bind_buffer_range, "Test cost of glBindBufferRange() calls. Note: uses only buffer 0.",
10193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		bindBufferRange,
10203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
10213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			GL_UNIFORM_BUFFER
10233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
10243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
10253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0,
10273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			1,
10283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			2,
10293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			3
10303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
10313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLuint,
10323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
10343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
10353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLintptr,
10363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
10383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		}),
10393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		GLsizeiptr,
10403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		ARG_LIST({
10413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry			0
10423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry		})
10433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry	);
10443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}
10453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry
10463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // Performance
10473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // gles3
10483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // deqp
1049