9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/** @file
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync * VirtualBox OpenGL command pack/unpack header
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/*
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync *
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * Copyright (C) 2006-2010 Oracle Corporation
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync *
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync * available from http://www.virtualbox.org. This file is free software;
c98fb3e16fcd571a790eab772c0c66173d225205vboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * The contents of this file may alternatively be used under the terms
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * of the Common Development and Distribution License Version 1.0
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution, in which case the provisions of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * CDDL are applicable instead of those of the GPL.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * You may elect to license modified versions of this file under the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * terms and conditions of either the GPL or the CDDL or both.
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifndef ___VBox_HostService_VBoxOGLOp_h
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define ___VBox_HostService_VBoxOGLOp_h
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef VBOX_OGL_GUEST_SIDE
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/************************************************************************************************************
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync * Guest side macro's for packing OpenGL function calls into the command buffer. *
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync * *
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync ************************************************************************************************************/
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_NAME_PREFIX(Function) gl##Function
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_CMD(op, numpar, size) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxCmdStart(VBOX_OGL_OP_##op, numpar, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_PARAM(val, size) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxCmdSaveParameter((uint8_t *)&val, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_MEMPARAM(ptr, size) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxCmdSaveMemParameter((uint8_t *)ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_CMD_END(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxCmdStop(VBOX_OGL_OP_##op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 0, 0); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
e7e589ca404045e288030a4151e57b63976cb39dvboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP1(op, p1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP2(op, p1, p2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2, sizeof(p1)+sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP3(op, p1, p2, p3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3, sizeof(p1)+sizeof(p2)+sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP4(op, p1, p2, p3, p4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 4, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP5(op, p1, p2, p3, p4, p5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 5, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP6(op, p1, p2, p3, p4, p5, p6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 6, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP7(op, p1, p2, p3, p4, p5, p6, p7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 7, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)+sizeof(p7)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p7, sizeof(p7)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP8(op, p1, p2, p3, p4, p5, p6, p7, p8) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 8, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)+sizeof(p7)+sizeof(p8)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p7, sizeof(p7)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p8, sizeof(p8)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* last parameter is a memory block */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP1PTR(op, size, p1ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 1, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p1ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP2PTR(op, p1, size, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2, sizeof(p1)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p2ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP3PTR(op, p1, p2, size, p3ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3, sizeof(p1)+sizeof(p2)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p3ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP4PTR(op, p1, p2, p3, size, p4ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 4, sizeof(p1)+sizeof(p2)+sizeof(p3)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p4ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP5PTR(op, p1, p2, p3, p4, size, p5ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 5, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p5ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP6PTR(op, p1, p2, p3, p4, p5, size, p6ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 6, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p6ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP7PTR(op, p1, p2, p3, p4, p5, p6, size, p7ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 7, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p7ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP8PTR(op, p1, p2, p3, p4, p5, p6, p7, size, p8ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 8, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)+sizeof(p7)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p7, sizeof(p7)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p8ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP9PTR(op, p1, p2, p3, p4, p5, p6, p7, p8, size, p9ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 9, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)+sizeof(p7)+sizeof(p8)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p7, sizeof(p7)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p8, sizeof(p8)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p9ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP10PTR(op, p1, p2, p3, p4, p5, p6, p7, p8, p9, size, p10ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 10, sizeof(p1)+sizeof(p2)+sizeof(p3)+sizeof(p4)+sizeof(p5)+sizeof(p6)+sizeof(p7)+sizeof(p8)+sizeof(p9)+size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p2, sizeof(p2)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p3, sizeof(p3)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p4, sizeof(p4)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p5, sizeof(p5)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p6, sizeof(p6)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p7, sizeof(p7)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p8, sizeof(p8)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p9, sizeof(p9)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p10ptr, size); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* two memory blocks */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP2PTRPTR(op, size1, p1ptr, size2, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2, size1+size2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p1ptr, size1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p2ptr, size2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP3PTRPTR(op, p1, size2, p2ptr, size3, p3ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3, sizeof(p1)+size2+size3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(p1, sizeof(p1)); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p2ptr, size2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(p3ptr, size3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD_END(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Note: sync operations always set the last error */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* sync operation that returns a value */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP_RET(rettype, op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP1_RET(rettype, op, p1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(op, p1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_RET(rettype, op, p1, p2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(op, p1, p2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP3_RET(rettype, op, p1, p2, p3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(op, p1, p2, p3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP4_RET(rettype, op, p1, p2, p3, p4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(op, p1, p2, p3, p4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_RET(rettype, op, p1, p2, p3, p4, p5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP5(op, p1, p2, p3, p4, p5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_RET(rettype, op, p1, p2, p3, p4, p5, p6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(op, p1, p2, p3, p4, p5, p6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_RET(rettype, op, p1, p2, p3, p4, p5, p6, p7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP7(op, p1, p2, p3, p4, p5, p6, p7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP1(op, p1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(op, p1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2(op, p1, p2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(op, p1, p2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PTR(op, p1, size, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2PTR(op, p1, size, p2ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PTR(op, p1, p2, p3, p4, size, p5ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2PTR(op, p1, p2, p3, p4, size, p5ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PTR(op, p1, p2, p3, p4, p5, size, p6ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6PTR(op, p1, p2, p3, p4, p5, size, p6ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PTR(op, p1, p2, p3, p4, p5, p6, size, p7ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP7PTR(op, p1, p2, p3, p4, p5, p6, size, p7ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory in which results are returned */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP1_PASS_PTR(op, size, p1ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP(op); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p1ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PASS_PTR(op, p1, size, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(op, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p2ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP3_PASS_PTR(op, p1, p2, size, p3ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(op, p1, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p3ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP4_PASS_PTR(op, p1, p2, p3, size, p4ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(op, p1, p2, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p4ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PASS_PTR(op, p1, p2, p3, p4, size, p5ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(op, p1, p2, p3, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p5ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PASS_PTR(op, p1, p2, p3, p4, p5, size, p6ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP5(op, p1, p2, p3, p4, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p6ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PASS_PTR(op, p1, p2, p3, p4, p5, p6, size, p7ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(op, p1, p2, p3, p4, p5, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBoxOGLFlushPtr(p7ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory and return a value */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PTR_RET(rettype, op, p1, size, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2PTR(op, p1, size, p2ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP4_PTR_RET(rettype, op, p1, p2, p3, size, p4ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4PTR(op, p1, p2, p3, size, p4ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PTR_RET(rettype, op, p1, p2, p3, p4, size, p5ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP5PTR(op, p1, p2, p3, p4, size, p5ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PTR_RET(rettype, op, p1, p2, p3, p4, p5, size, p6ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6PTR(op, p1, p2, p3, p4, p5, size, p6ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PTR_RET(rettype, op, p1, p2, p3, p4, p5, p6, size, p7ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP7PTR(op, p1, p2, p3, p4, p5, p6, size, p7ptr); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlush();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory in which results are returned and return a value */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PASS_PTR_RET(rettype, op, p1, size, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(op, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlushPtr(p2ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP4_PASS_PTR_RET(rettype, op, p1, p2, p3, size, p4ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(op, p1, p2, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlushPtr(p4ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PASS_PTR_RET(rettype, op, p1, p2, p3, p4, size, p5ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(op, p1, p2, p3, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlushPtr(p5ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PASS_PTR_RET(rettype, op, p1, p2, p3, p4, p5, size, p6ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP5(op, p1, p2, p3, p4, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlushPtr(p6ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PASS_PTR_RET(rettype, op, p1, p2, p3, p4, p5, p6, size, p7ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(op, p1, p2, p3, p4, p5, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync rettype retval = (rettype)VBoxOGLFlushPtr(p7ptr, size);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Generate async functions elements in the command queue */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC(Function) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (void) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP(Function); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC1(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(Function, a); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC1V(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(Function, a); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function)##v (const Type *v) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(Function, v[0]); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC2(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, a, b); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC2V(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, a, b); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function)##v (const Type *v) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, v[0], v[1]); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC3(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b, Type c) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, a, b, c); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC3V(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b, Type c) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, a, b, c); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function)##v (const Type *v) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, v[0], v[1], v[2]); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC4(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b, Type c, Type d) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(Function, a, b, c, d); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC4V(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b, Type c, Type d) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(Function, a, b, c, d); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function)##v (const Type *v) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(Function, v[0], v[1], v[2], v[3]); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC6(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type a, Type b, Type c, Type d, Type e, Type f) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(Function, a, b, c, d, e, f); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC2(Function, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, a, b); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC2V(Function, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, a, b); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function)##v (Type1 a, const Type2 *v) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, a, v[0], v[1]); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC3(Function, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, a, b, c); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC3V(Function, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, a, b, c); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function)##v (Type1 a, Type2 b, const Type3 *v) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, a, v[0], v[1]); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync } \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC4(Function, Type1, Type2, Type3, Type4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c, Type4 d) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(Function, a, b, c, d); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC5(Function, Type1, Type2, Type3, Type4, Type5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c, Type4 d, Type5 e) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP5(Function, a, b, c, d, e); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC6(Function, Type1, Type2, Type3, Type4, Type5, Type6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c, Type4 d, Type5 e, Type6 f) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(Function, a, b, c, d, e, f); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC7(Function, Type1, Type2, Type3, Type4, Type5, Type6, Type7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c, Type4 d, Type5 e, Type6 f, Type7 g) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP7(Function, a, b, c, d, e, f, g); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC8(Function, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c, Type4 d, Type5 e, Type6 f, Type7 g, Type8 h) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP8(Function, a, b, c, d, e, f, g, h); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC9(Function, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8 ,Type9) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void APIENTRY VBOX_OGL_NAME_PREFIX(Function) (Type1 a, Type2 b, Type3 c, Type4 d, Type5 e, Type6 f, Type7 g, Type8 h, Type9 i) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP9(Function, a, b, c, d, e, f, g, h, i); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#elif VBOX_OGL_HOST_SIDE
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/************************************************************************************************************
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync * Host side macro's for generating OpenGL function calls from the packed commands in the command buffer. *
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync * *
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync ************************************************************************************************************/
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#include <iprt/assert.h>
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_NAME_PREFIX(Function) vboxgl##Function
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef VBOX_OGL_CMD_STRICT
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_CHECK_MAGIC(pParVal) Assert(pParVal->Magic == VBOX_OGL_CMD_MAGIC)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#else
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_CHECK_MAGIC(pParVal)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_CMD(op, numpar) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync PVBOX_OGL_CMD pCmd = (PVBOX_OGL_CMD)pCmdBuffer; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pCmd->enmOp == VBOX_OGL_OP_##op); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pCmd->cParams == numpar); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync uint8_t *pParam = (uint8_t *)(pCmd+1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync NOREF(pParam)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_PARAM(Type, par) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Type par; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync par = *(Type *)pParam; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParam += sizeof(par); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParam = RT_ALIGN_PT(pParam, VBOX_OGL_CMD_ALIGN, uint8_t *);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_MEMPARAM(Type, par) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync PVBOX_OGL_VAR_PARAM pParVal = (PVBOX_OGL_VAR_PARAM)pParam; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Type *par; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_CHECK_MAGIC(pParVal); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync if (pParVal->cbParam) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync par = (Type *)(pParVal+1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync else \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync par = NULL; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParam += sizeof(*pParVal) + pParVal->cbParam; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParam = RT_ALIGN_PT(pParam, VBOX_OGL_CMD_ALIGN, uint8_t *);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define OGL_MEMPARAM_NODEF(Type, par) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParVal = (PVBOX_OGL_VAR_PARAM)pParam; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Type *par; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_CHECK_MAGIC(pParVal); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync if (pParVal->cbParam) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync par = (Type *)(pParVal+1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync else \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync par = NULL; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParam += sizeof(*pParVal) + pParVal->cbParam; \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pParam = RT_ALIGN_PT(pParam, VBOX_OGL_CMD_ALIGN, uint8_t *);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 0); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op();
e7e589ca404045e288030a4151e57b63976cb39dvboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP1(op, Type1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP2(op, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP3(op, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP4(op, Type1, Type2, Type3, Type4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP5(op, Type1, Type2, Type3, Type4, Type5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP6(op, Type1, Type2, Type3, Type4, Type5, Type6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP7(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, p7);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP8(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type8, p8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, p7, p8);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* last parameter is a memory block */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP1PTR(op, Type1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP2PTR(op, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP3PTR(op, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP4PTR(op, Type1, Type2, Type3, Type4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP5PTR(op, Type1, Type2, Type3, Type4, Type5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP6PTR(op, Type1, Type2, Type3, Type4, Type5, Type6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP7PTR(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, p7);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP8PTR(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type8, p8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, p7, p8);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP9PTR(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 9); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type8, p8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type9, p9); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, p7, p8 ,p9);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP10PTR(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8, Type9, Type10) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 10); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type8, p8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type9, p9); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type10, p10); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* two memory blocks */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP2PTRPTR(op, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM_NODEF(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_OP3PTRPTR(op, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM_NODEF(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Note: sync operations always set the last error */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* sync operation that returns a value */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP_RET(rettype, op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 0); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op();
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP1_RET(rettype, op, Type1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1);
e7e589ca404045e288030a4151e57b63976cb39dvboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_RET(rettype, op, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1, p2);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP3_RET(rettype, op, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1, p2, p3);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP(op) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP(op);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP1(op, p1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(op, p1);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2(op, p1, p2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(op, p1, p2);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PTR(op, p1, p2ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2PTR(op, p1, p2ptr);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PTR(op, p1, p2, p3, p4, p5ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2PTR(op, p1, p2, p3, p4, size, p5ptr);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PTR(op, p1, p2, p3, p4, p5, p6ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6PTR(op, p1, p2, p3, p4, p5, size, p6ptr);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PTR(op, p1, p2, p3, p4, p5, p6, p7ptr) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP7PTR(op, p1, p2, p3, p4, p5, p6, p7ptr);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory in which results are returned */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP1_PASS_PTR(op, Type1) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 0); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op((Type1 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PASS_PTR(op, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, (Type2 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP3_PASS_PTR(op, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, (Type3 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP4_PASS_PTR(op, Type1, Type2, Type3, Type4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, (Type4 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PASS_PTR(op, Type1, Type2, Type3, Type4, Type5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, (Type5 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PASS_PTR(op, Type1, Type2, Type3, Type4, Type5, Type6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, (Type6 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PASS_PTR(op, Type1, Type2, Type3, Type4, Type5, Type6, Type7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync Assert(pClient->pLastParam && pClient->cbLastParam); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync gl##op(p1, p2, p3, p4, p5, p6, (Type7 *)pClient->pLastParam);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Sync operation whose last parameter is a block of memory and returns a value */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP2_PTR_RET(rettype, op, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP4_PTR_RET(rettype, op, Type1, Type2, Type3, Type4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1, p2, p3, p4);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP5_PTR_RET(rettype, op, Type1, Type2, Type3, Type4, Type5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1, p2, p3, p4, p5);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP6_PTR_RET(rettype, op, Type1, Type2, Type3, Type4, Type5, Type6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1, p2, p3, p4, p5, p6);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_GEN_SYNC_OP7_PTR_RET(rettype, op, Type1, Type2, Type3, Type4, Type5, Type6, Type7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_CMD(op, 7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type1, p1); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type2, p2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type3, p3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type4, p4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type5, p5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_PARAM(Type6, p6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync OGL_MEMPARAM(Type7, p7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync pClient->lastretval = gl##op(p1, p2, p3, p4, p5, p6, p7);
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Generate async functions elements in the command queue */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC(Function) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP(Function); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC1(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP1(Function, Type); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC1V(Function, Type) GL_GEN_FUNC1(Function, Type)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC2(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, Type, Type); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC2V(Function, Type) GL_GEN_FUNC2(Function, Type)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC3(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, Type, Type, Type); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC3V(Function, Type) GL_GEN_FUNC3(Function, Type)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC4(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(Function, Type, Type, Type, Type); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC4V(Function, Type) GL_GEN_FUNC4(Function, Type)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_FUNC6(Function, Type) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(Function, Type, Type, Type, Type, Type, Type); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC2(Function, Type1, Type2) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP2(Function, Type1, Type2); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC2V(Function, Type) GL_GEN_VPAR_FUNC2(Function, Type)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC3(Function, Type1, Type2, Type3) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP3(Function, Type1, Type2, Type3); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC3V(Function, Type) GL_GEN_VPAR_FUNC3(Function, Type)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC4(Function, Type1, Type2, Type3, Type4) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP4(Function, Type1, Type2, Type3, Type4); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC5(Function, Type1, Type2, Type3, Type4, Type5) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP5(Function, Type1, Type2, Type3, Type4 ,Type5); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC6(Function, Type1, Type2, Type3, Type4, Type5, Type6) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP6(Function, Type1, Type2, Type3, Type4 ,Type5, Type6); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC7(Function, Type1, Type2, Type3, Type4, Type5, Type6, Type7) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP7(Function, Type1, Type2, Type3, Type4 ,Type5, Type6, Type7); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC8(Function, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP8(Function, Type1, Type2, Type3, Type4 ,Type5, Type6, Type7, Type8); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define GL_GEN_VPAR_FUNC9(Function, Type1, Type2, Type3, Type4, Type5, Type6, Type7, Type8 ,Type9) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync void VBOX_OGL_NAME_PREFIX(Function) (VBOXOGLCTX *pClient, uint8_t *pCmdBuffer) \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_GEN_OP9(Function, Type1, Type2, Type3, Type4 ,Type5, Type6, Type7, Type8, Type9); \
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync }
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif /* VBOX_OGL_HOST_SIDE */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* OpenGL opcodes */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* Note: keep all three tables in sync! */
e7e589ca404045e288030a4151e57b63976cb39dvboxsynctypedef enum
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync{
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Illegal = 0,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ArrayElement,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Begin,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_BindTexture,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_BlendFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CallList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3b,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3ub,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3ui,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color3us,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4b,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4ub,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4ui,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Color4us,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Clear,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ClearAccum,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ClearColor,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ClearDepth,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ClearIndex,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ClearStencil,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Accum,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_AlphaFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex2i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex2s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Vertex4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord1i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord1s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord2i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord2s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoord4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Normal3b,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Normal3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Normal3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Normal3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Normal3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos2i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos2s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RasterPos4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalCoord1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalCoord1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalCoord2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalCoord2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalPoint1,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalPoint2,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Indexd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Indexf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Indexi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Indexs,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Indexub,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rotated,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rotatef,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Scaled,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Scalef,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Translated,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Translatef,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DepthFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DepthMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Finish,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Flush,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DeleteLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CullFace,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DeleteTextures,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DepthRange,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DisableClientState,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EnableClientState,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalMesh1,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EvalMesh2,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Fogf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Fogfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Fogi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Fogiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LightModelf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LightModelfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LightModeli,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LightModeliv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Lightf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Lightfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Lighti,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Lightiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LineStipple,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LineWidth,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ListBase,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrawArrays,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrawBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EdgeFlag,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_End,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EndList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CopyTexImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CopyTexImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ColorMaterial,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Materiali,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Materialf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Materialfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Materialiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PopAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PopClientAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PopMatrix,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PopName,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PushAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PushClientAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PushMatrix,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PushName,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ReadBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexGendv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexGenf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexGend,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexGeni,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexEnvi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexEnvf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexEnviv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexEnvfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexGeniv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexGenfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexParameterf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexParameteri,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexParameterfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexParameteriv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LoadIdentity,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LoadName,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LoadMatrixd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LoadMatrixf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_StencilFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ShadeModel,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_StencilMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_StencilOp,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Scissor,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Viewport,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rectd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rectf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Recti,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rects,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rectdv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rectfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rectiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Rectsv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MultMatrixd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MultMatrixf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_NewList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Hint,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_IndexMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_InitNames,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexCoordPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_VertexPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ColorPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_EdgeFlagPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_IndexPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_NormalPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PolygonStipple,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CallLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ClipPlane,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Frustum,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GenTextures,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Map1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Map1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Map2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Map2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MapGrid1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MapGrid1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MapGrid2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MapGrid2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CopyPixels,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexSubImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_TexSubImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_FeedbackBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_SelectBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_IsList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_IsTexture,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_RenderMode,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ReadPixels,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_IsEnabled,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GenLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelTransferf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelTransferi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelZoom,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelStorei,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelStoref,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelMapfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelMapuiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PixelMapusv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PointSize,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PolygonMode,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PolygonOffset,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PassThrough,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Ortho,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_MatrixMode,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_LogicOp,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_ColorMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CopyTexSubImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_CopyTexSubImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_FrontFace,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Disable,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Enable,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_PrioritizeTextures,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetBooleanv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetDoublev,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetFloatv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetIntegerv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetLightfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetLightiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetMaterialfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetMaterialiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetPixelMapfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetPixelMapuiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetPixelMapusv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexEnviv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexEnvfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexGendv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexGenfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexGeniv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexParameterfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexParameteriv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetClipPlane,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetPolygonStipple,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexLevelParameterfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexLevelParameteriv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_GetTexImage,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync /* Windows ICD exports */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvReleaseContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvCreateContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvDeleteContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvCopyContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvSetContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvCreateLayerContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvShareLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvDescribeLayerPlane,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvSetLayerPaletteEntries,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvGetLayerPaletteEntries,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvRealizeLayerPalette,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvSwapLayerBuffers,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvDescribePixelFormat,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvSetPixelFormat,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_DrvSwapBuffers,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync /* OpenGL Extensions */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_wglSwapIntervalEXT,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_wglGetSwapIntervalEXT,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_Last,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync VBOX_OGL_OP_SizeHack = 0x7fffffff
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync} VBOX_OGL_OP;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#if defined(DEBUG) && defined(VBOX_OGL_WITH_CMD_STRINGS)
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsyncstatic const char *pszVBoxOGLCmd[VBOX_OGL_OP_Last] =
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync{
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "ILLEGAL",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glArrayElement",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glBegin",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glBindTexture",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glBlendFunc",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCallList",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3b",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3ub",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3ui",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor3us",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4b",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4ub",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4ui",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColor4us",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClear",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClearAccum",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClearColor",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClearDepth",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClearIndex",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClearStencil",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glAccum",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glAlphaFunc",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex2d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex2f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex2i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex2s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex3d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex3f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex3i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex3s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex4d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex4f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex4i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertex4s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord1d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord1f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord1i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord1s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord2d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord2f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord2i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord2s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord3d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord3f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord3i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord3s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord4d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord4f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord4i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoord4s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNormal3b",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNormal3d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNormal3f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNormal3i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNormal3s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos2d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos2f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos2i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos2s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos3d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos3f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos3i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos3s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos4d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos4f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos4i",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRasterPos4s",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalCoord1d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalCoord1f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalCoord2d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalCoord2f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalPoint1",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalPoint2",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexd",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexi",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexs",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexub",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRotated",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRotatef",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glScaled",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glScalef",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTranslated",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTranslatef",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDepthFunc",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDepthMask",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFinish",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFlush",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDeleteLists",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCullFace",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDeleteTextures",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDepthRange",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDisableClientState",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEnableClientState",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalMesh1",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEvalMesh2",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFogf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFogfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFogi",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFogiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightModelf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightModelfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightModeli",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightModeliv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLighti",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLightiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLineStipple",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLineWidth",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glListBase",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDrawArrays",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDrawBuffer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEdgeFlag",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEnd",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEndList",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCopyTexImage1D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCopyTexImage2D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColorMaterial",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMateriali",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMaterialf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMaterialfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMaterialiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPopAttrib",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPopClientAttrib",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPopMatrix",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPopName",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPushAttrib",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPushClientAttrib",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPushMatrix",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPushName",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glReadBuffer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexGendv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexGenf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexGend",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexGeni",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexEnvi",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexEnvf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexEnviv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexEnvfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexGeniv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexGenfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexParameterf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexParameteri",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexParameterfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexParameteriv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLoadIdentity",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLoadName",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLoadMatrixd",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLoadMatrixf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glStencilFunc",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glShadeModel",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glStencilMask",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glStencilOp",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glScissor",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glViewport",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRectd",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRectf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRecti",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRects",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRectdv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRectfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRectiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRectsv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMultMatrixd",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMultMatrixf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNewList",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glHint",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexMask",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glInitNames",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexCoordPointer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glVertexPointer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColorPointer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEdgeFlagPointer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIndexPointer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glNormalPointer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPolygonStipple",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCallLists",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glClipPlane",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFrustum",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGenTextures",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMap1d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMap1f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMap2d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMap2f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMapGrid1d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMapGrid1f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMapGrid2d",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMapGrid2f",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCopyPixels",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexImage1D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexImage2D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexSubImage1D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glTexSubImage2D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFeedbackBuffer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glSelectBuffer",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIsList",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIsTexture",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glRenderMode",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glReadPixels",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glIsEnabled",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGenLists",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelTransferf",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelTransferi",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelZoom",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelStorei",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelStoref",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelMapfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelMapuiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPixelMapusv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPointSize",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPolygonMode",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPolygonOffset",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPassThrough",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glOrtho",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glMatrixMode",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glLogicOp",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glColorMask",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCopyTexSubImage1D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glCopyTexSubImage2D",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glFrontFace",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glDisable",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glEnable",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glPrioritizeTextures",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetBooleanv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetDoublev",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetFloatv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetIntegerv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetLightfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetLightiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetMaterialfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetMaterialiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetPixelMapfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetPixelMapuiv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetPixelMapusv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexEnviv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexEnvfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexGendv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexGenfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexGeniv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexParameterfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexParameteriv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetClipPlane",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetPolygonStipple",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexLevelParameterfv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexLevelParameteriv",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "glGetTexImage",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync /* Windows ICD exports */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvReleaseContext",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvCreateContext",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvDeleteContext",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvCopyContext",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvSetContext",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvCreateLayerContext",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvShareLists",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvDescribeLayerPlane",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvSetLayerPaletteEntries",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvGetLayerPaletteEntries",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvRealizeLayerPalette",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvSwapLayerBuffers",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvDescribePixelFormat",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvSetPixelFormat",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "DrvSwapBuffers",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync /* OpenGL Extensions */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "wglSwapIntervalEXT",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync "wglGetSwapIntervalEXT",
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync};
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef VBOX_OGL_WITH_FUNCTION_WRAPPERS
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync/* OpenGL function wrappers. */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsyncstatic PFN_VBOXGLWRAPPER pfnOGLWrapper[VBOX_OGL_OP_Last] =
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync{
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync NULL,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglArrayElement,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglBegin,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglBindTexture,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglBlendFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCallList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3b,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3ub,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3ui,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor3us,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4b,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4ub,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4ui,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColor4us,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClear,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClearAccum,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClearColor,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClearDepth,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClearIndex,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClearStencil,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglAccum,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglAlphaFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex2i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex2s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertex4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord1i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord1s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord2i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord2s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoord4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNormal3b,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNormal3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNormal3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNormal3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNormal3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos2i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos2s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos3d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos3f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos3i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos3s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos4d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos4f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos4i,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRasterPos4s,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalCoord1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalCoord1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalCoord2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalCoord2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalPoint1,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalPoint2,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexs,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexub,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRotated,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRotatef,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglScaled,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglScalef,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTranslated,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTranslatef,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDepthFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDepthMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFinish,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFlush,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDeleteLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCullFace,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDeleteTextures,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDepthRange,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDisableClientState,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEnableClientState,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalMesh1,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEvalMesh2,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFogf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFogfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFogi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFogiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightModelf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightModelfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightModeli,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightModeliv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLighti,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLightiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLineStipple,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLineWidth,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglListBase,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrawArrays,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrawBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEdgeFlag,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEnd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEndList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCopyTexImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCopyTexImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColorMaterial,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMateriali,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMaterialf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMaterialfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMaterialiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPopAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPopClientAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPopMatrix,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPopName,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPushAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPushClientAttrib,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPushMatrix,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPushName,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglReadBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexGendv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexGenf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexGend,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexGeni,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexEnvi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexEnvf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexEnviv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexEnvfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexGeniv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexGenfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexParameterf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexParameteri,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexParameterfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexParameteriv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLoadIdentity,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLoadName,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLoadMatrixd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLoadMatrixf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglStencilFunc,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglShadeModel,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglStencilMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglStencilOp,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglScissor,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglViewport,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRectd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRectf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRecti,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRects,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRectdv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRectfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRectiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRectsv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMultMatrixd,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMultMatrixf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNewList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglHint,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglInitNames,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexCoordPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglVertexPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColorPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEdgeFlagPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIndexPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglNormalPointer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPolygonStipple,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCallLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglClipPlane,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFrustum,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGenTextures,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMap1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMap1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMap2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMap2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMapGrid1d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMapGrid1f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMapGrid2d,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMapGrid2f,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCopyPixels,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexSubImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglTexSubImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFeedbackBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglSelectBuffer,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIsList,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIsTexture,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglRenderMode,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglReadPixels,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglIsEnabled,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGenLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelTransferf,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelTransferi,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelZoom,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelStorei,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelStoref,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelMapfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelMapuiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPixelMapusv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPointSize,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPolygonMode,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPolygonOffset,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPassThrough,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglOrtho,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglMatrixMode,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglLogicOp,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglColorMask,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCopyTexSubImage1D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglCopyTexSubImage2D,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglFrontFace,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDisable,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglEnable,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglPrioritizeTextures,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetBooleanv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetDoublev,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetFloatv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetIntegerv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetLightfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetLightiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetMaterialfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetMaterialiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetPixelMapfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetPixelMapuiv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetPixelMapusv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexEnviv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexEnvfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexGendv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexGenfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexGeniv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexParameterfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexParameteriv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetClipPlane,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetPolygonStipple,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexLevelParameterfv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexLevelParameteriv,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglGetTexImage,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync /* Windows ICD exports */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvReleaseContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvCreateContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvDeleteContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvCopyContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvSetContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvCreateLayerContext,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvShareLists,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvDescribeLayerPlane,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvSetLayerPaletteEntries,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvGetLayerPaletteEntries,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvRealizeLayerPalette,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvSwapLayerBuffers,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvDescribePixelFormat,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvSetPixelFormat,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxglDrvSwapBuffers,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef RT_OS_WINDOWS
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync /* OpenGL Extensions */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxwglSwapIntervalEXT,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync vboxwglGetSwapIntervalEXT,
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync};
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef VBOX_OGL_WITH_EXTENSION_ARRAY
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsynctypedef struct
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync{
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync const char *pszExtName;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync const char *pszExtFunctionName;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef VBOX_OGL_GUEST_SIDE
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync RTUINTPTR pfnFunction;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#else
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync RTUINTPTR *ppfnFunction;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync bool fAvailable;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync} OPENGL_EXT, *POPENGL_EXT;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#ifdef VBOX_OGL_GUEST_SIDE
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_EXTENSION(a) (RTUINTPTR)a
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#else
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#define VBOX_OGL_EXTENSION(a) (RTUINTPTR *)&pfn##a
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsyncstatic PFNWGLSWAPINTERVALEXTPROC pfnwglSwapIntervalEXT = NULL;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsyncstatic PFNWGLGETSWAPINTERVALEXTPROC pfnwglGetSwapIntervalEXT = NULL;
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
e7e589ca404045e288030a4151e57b63976cb39dvboxsyncstatic OPENGL_EXT OpenGLExtensions[] =
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync{
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { "WGL_EXT_swap_control", "wglSwapIntervalEXT", VBOX_OGL_EXTENSION(wglSwapIntervalEXT), false },
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync { "WGL_EXT_swap_control", "wglGetSwapIntervalEXT", VBOX_OGL_EXTENSION(wglGetSwapIntervalEXT), false },
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync};
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif /* VBOX_OGL_WITH_EXTENSION_ARRAY */
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync#endif
9c9df2b728333cb734a7cc7856568e9ea9dc4600vboxsync