VBoxOpenGLSvc.h revision cd41ce42a6251fb6086e4688bec5148970eed8d7
/** @file
* OpenGL:
* Common header for host service and guest clients.
*/
/*
* Copyright (C) 2006-2007 innotek GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*
* If you received this file as part of a commercial VirtualBox
* distribution, then only the terms of your commercial VirtualBox
* license agreement apply instead of the previous paragraph.
*/
#include <VBox/VBoxGuest.h>
/* OpenGL command buffer size */
#define VBOX_OGL_CMD_ALIGN 4
#define VBOX_OGL_CMD_MAGIC 0x1234ABCD
/* for debugging */
#define VBOX_OGL_CMD_STRICT
/* OpenGL command block */
typedef struct
{
#ifdef VBOX_OGL_CMD_STRICT
#endif
/* start of variable size parameter array */
typedef struct
{
#ifdef VBOX_OGL_CMD_STRICT
#endif
/* start of variable size parameter */
/** OpenGL Folders service functions. (guest)
* @{
*/
/** Query mappings changes. */
#define VBOXOGL_FN_GLGETSTRING (1)
#define VBOXOGL_FN_GLFLUSH (2)
#define VBOXOGL_FN_GLFLUSHPTR (3)
#define VBOXOGL_FN_GLCHECKEXT (4)
/** @} */
/** Function parameter structures.
* @{
*/
/**
* VBOXOGL_FN_GLGETSTRING
*/
/** Parameters structure. */
typedef struct
{
/** 32bit, in: name
* GLenum name parameter
*/
* Buffer for requested string
*/
/** Number of parameters */
#define VBOXOGL_CPARMS_GLGETSTRING (2)
/**
* VBOXOGL_FN_GLFLUSH
*/
/** Parameters structure. */
typedef struct
{
/** pointer, in
* Command buffer
*/
/** 32bit, out: cCommands
* Number of commands in the buffer
*/
/** 64bit, out: retval
* uint64_t return code of last command
*/
/** 32bit, out: lasterror
* GLenum current last error
*/
/** Number of parameters */
#define VBOXOGL_CPARMS_GLFLUSH (4)
/**
* VBOXOGL_FN_GLFLUSHPTR
*/
/** Parameters structure. */
typedef struct
{
/** pointer, in
* Command buffer
*/
/** 32bit, out: cCommands
* Number of commands in the buffer
*/
/** pointer, in
* Last command's final parameter memory block
*/
/** 64bit, out: retval
* uint64_t return code of last command
*/
/** 32bit, out: lasterror
* GLenum current last error
*/
/** Number of parameters */
#define VBOXOGL_CPARMS_GLFLUSHPTR (5)
/**
* VBOXOGL_FN_GLCHECKEXT
*/
/** Parameters structure. */
typedef struct
{
/** pointer, in
* Extension function name
*/
/** Number of parameters */
#define VBOXOGL_CPARMS_GLCHECKEXT (1)
/** @} */
#endif