VBoxVideoWddm.h revision 649f47eb2c9c03f3dc7fb88991f8fd36de9f4b44
/*
* Copyright (C) 2010 Sun Microsystems, Inc.
*
* 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.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
#ifndef ___VBoxVideoWddm_h___
#define ___VBoxVideoWddm_h___
/* one page size */
#define VBOXWDDM_C_DMA_BUFFER_SIZE 0x1000
#define VBOXWDDM_C_ALLOC_LIST_SIZE 0xc00
#define VBOXWDDM_C_PATH_LOCATION_LIST_SIZE 0xc00
typedef enum
{
/* this one is win 7-specific and hence unused for now */
/* custom allocation types requested from user-mode d3d module will go here */
typedef struct VBOXWDDM_SURFACE_DESC
{
typedef struct VBOXWDDM_ALLOCINFO
{
union
{
} u;
#define VBOXWDDM_ALLOCINFO_HEADSIZE() (sizeof (VBOXWDDM_ALLOCINFO))
#define VBOXWDDM_ALLOCINFO_HEAD(_pb) ((VBOXWDDM_ALLOCINFO*)((uint8_t *)(_pb) - VBOXWDDM_ALLOCATION_HEADSIZE()))
typedef struct VBOXWDDM_ALLOCINFO_SHAREDPRIMARYSURFACE
{
/* allocation */
typedef struct VBOXWDDM_ALLOCATION
{
union
{
} u;
#define VBOXWDDM_ALLOCATION_HEADSIZE() (sizeof (VBOXWDDM_ALLOCATION))
#define VBOXWDDM_ALLOCATION_BODY(_p, _t) ( (_t*)(((uint8_t*)(_p)) + VBOXWDDM_ALLOCATION_HEADSIZE()) )
#define VBOXWDDM_ALLOCATION_HEAD(_pb) ((VBOXWDDM_ALLOCATION*)((uint8_t *)(_pb) - VBOXWDDM_ALLOCATION_HEADSIZE()))
typedef struct VBOXWDDM_ALLOCATION_SHAREDPRIMARYSURFACE
{
// VBOXVIDEOOFFSET offAddress;
typedef enum
{
typedef struct VBOXWDDM_DEVICE
{
VBOXWDDM_DEVICE_TYPE enmType; /* device creation flags passed to DxgkDdiCreateDevice, not sure we need it */
typedef enum
{
typedef struct VBOXWDDM_CONTEXT
{
struct VBOXWDDM_DEVICE * pDevice;
typedef struct VBOXWDDM_DMA_PRIVATE_DATA
{
typedef struct VBOXWDDM_OPENALLOCATION
{
#endif /* #ifndef ___VBoxVideoWddm_h___ */