VBoxWineEx.h revision 3194da424708abdd288b28d96892b3a5f3f7df0b
/** @file
*
* VBox extension to Wine D3D
*
* Copyright (C) 2010-2012 Oracle Corporation
*
* 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 (GPL) 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.
*/
#ifndef ___VBoxWineEx_h__
#define ___VBoxWineEx_h__
typedef enum
{
/* the underlying GL resource can not be used because it can be removed concurrently by other SHRC client */
/* the given client is requested to delete the underlying GL resource on SHRC termination */
#ifndef IN_VBOXLIBWINE
#define VBOXWINEEX_VERSION 1
#ifndef IN_VBOXWINEEX
# else
#endif
void **pavClientMem);
void **pavClientMem);
void **pavClientMem);
const struct VBOXBOX3D *pSrcBoxArg,
const struct VBOXPOINT3D *pDstPoin3D);
const struct VBOXBOX3D *pSrcBoxArg,
const struct VBOXPOINT3D *pDstPoin3D);
typedef VBOXWINEEX_DECL(HRESULT) FNVBOXWINEEXD3DDEV9_UPDATE(IDirect3DDevice9Ex *iface, D3DPRESENT_PARAMETERS * pParams, IDirect3DDevice9Ex **outIface);
typedef VBOXWINEEX_DECL(HRESULT) FNVBOXWINEEXD3DRC9_SETSHRCSTATE(IDirect3DResource9 *iface, VBOXWINEEX_SHRC_STATE enmState);
typedef VBOXWINEEX_DECL(HRESULT) FNVBOXWINEEXD3DSWAPCHAIN9_PRESENT(IDirect3DSwapChain9 *iface, IDirect3DSurface9 *surf);
#ifdef __cplusplus
extern "C"
{
#endif
void **pavClientMem); /* <- extension arg to pass in the client memory buffer,
* applicable ONLY for SYSMEM textures */
void **pavClientMem); /* <- extension arg to pass in the client memory buffer,
* applicable ONLY for SYSMEM textures */
void **pavClientMem);
const struct VBOXBOX3D *pSrcBoxArg,
const struct VBOXPOINT3D *pDstPoin3D);
const struct VBOXBOX3D *pSrcBoxArg,
const struct VBOXPOINT3D *pDstPoin3D);
VBOXWINEEX_DECL(HRESULT) VBoxWineExD3DDev9FlushToHost(IDirect3DDevice9Ex *iface); /* flash data to host */
VBOXWINEEX_DECL(HRESULT) VBoxWineExD3DDev9Update(IDirect3DDevice9Ex *iface, D3DPRESENT_PARAMETERS * pParams,
VBOXWINEEX_DECL(HRESULT) VBoxWineExD3DRc9SetShRcState(IDirect3DResource9 *iface, VBOXWINEEX_SHRC_STATE enmState);
typedef struct VBOXWINEEX_D3DPRESENT_PARAMETERS
{
struct VBOXUHGSMI *pHgsmi;
#ifdef __cplusplus
}
#endif
#endif /* #ifndef IN_VBOXLIBWINE */
#endif