vboxgl.h revision 648f4eb3997820a317f8aa900598a4b7fe425c23
/** @file
* VBox OpenGL helper functions
*/
/*
* 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.
*/
#ifndef ___VBOGL_H
#define ___VBOGL_H
#ifdef RT_OS_WINDOWS
#include <windows.h>
#endif
#include "gldrv.h"
/**
* Global init of VBox OpenGL for windows
*
* @returns VBox error code
*/
int vboxglGlobalInit();
/**
* Client connect init
*
* @returns VBox error code
* @param pClient Client context
*/
/**
* Client disconnect cleanup
*
* @returns VBox error code
* @param pClient Client context
*/
/**
* Log to the debug output device
*
* @returns VBox error code
* @param pClient
* @param name glGetString name parameter
* @param pString String pointer
*/
/**
* Flush all queued OpenGL commands
*
* @returns VBox error code
* @param pClient Client context
* @param pCmdBuffer Command buffer
* @param cbCmdBuffer Command buffer size
* @param cCommands Number of commands in the buffer
* @param pLastError Pointer to last error (out)
* @param pLastRetVal Pointer to return val of last executed command (out)
*/
int vboxglFlushBuffer(VBOXOGLCTX *pClient, uint8_t *pCmdBuffer, uint32_t cbCmdBuffer, uint32_t cCommands, GLenum *pLastError, uint64_t *pLastRetVal);
/**
* Initialize OpenGL extensions
*
* @returns VBox error code
*/
int vboxInitOpenGLExtensions();
/**
* Check if an opengl extension function is available
*
* @returns VBox error code
* @param pszFunctionName OpenGL extension function name
*/
#ifdef RT_OS_WINDOWS
bool vboxwglGetProcAddress(char *pszFunctionName);
#endif
/* OpenGL wrappers */
#ifdef RT_OS_WINDOWS
#endif
/* after the above */
#endif /* !___VBOGL_H */