VirtualBox

Ignore:
Timestamp:
Sep 14, 2010 10:14:46 PM (14 years ago)
Author:
vboxsync
Message:

wddm/3d: multi-swapchain fixes (for win7 & multi-monitor)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoWddm.h

    r32241 r32496  
    6464typedef struct VBOXWDDM_ALLOCATION
    6565{
     66    LIST_ENTRY SwapchainEntry;
     67    struct VBOXWDDM_SWAPCHAIN *pSwapchain;
    6668    VBOXWDDM_ALLOC_TYPE enmType;
    6769//    VBOXWDDM_ALLOCUSAGE_TYPE enmCurrentUsage;
     
    124126typedef enum
    125127{
     128    VBOXWDDM_OBJSTATE_TYPE_UNKNOWN = 0,
     129    VBOXWDDM_OBJSTATE_TYPE_INITIALIZED,
     130    VBOXWDDM_OBJSTATE_TYPE_TERMINATED
     131} VBOXWDDM_OBJSTATE_TYPE;
     132typedef struct VBOXWDDM_SWAPCHAIN
     133{
     134    LIST_ENTRY DevExtListEntry;
     135    LIST_ENTRY AllocList;
     136    struct VBOXWDDM_CONTEXT *pContext;
     137    RECT ViewRect;
     138    VBOXWDDM_OBJSTATE_TYPE enmState;
     139    volatile uint32_t cRefs;
     140    VBOXDISP_UMHANDLE hSwapchainUm;
     141    VBOXDISP_KMHANDLE hSwapchainKm;
     142    PVBOXVIDEOCM_CMD_RECTS_INTERNAL pLastReportedRects;
     143}VBOXWDDM_SWAPCHAIN, *PVBOXWDDM_SWAPCHAIN;
     144
     145typedef enum
     146{
    126147    VBOXWDDM_CONTEXT_TYPE_UNDEFINED = 0,
    127148    VBOXWDDM_CONTEXT_TYPE_SYSTEM,
     
    132153typedef struct VBOXWDDM_CONTEXT
    133154{
    134     LIST_ENTRY ListEntry;
     155//    LIST_ENTRY ListEntry;
    135156    struct VBOXWDDM_DEVICE * pDevice;
    136157    HANDLE hContext;
     
    139160    UINT  EngineAffinity;
    140161    UINT uLastCompletedCmdFenceId;
    141     RECT ViewRect;
    142     PVBOXVIDEOCM_CMD_RECTS_INTERNAL pLastReportedRects;
     162    FAST_MUTEX SwapchainMutex;
     163    VBOXWDDM_HTABLE Swapchains;
    143164    VBOXVIDEOCM_CTX CmContext;
    144165} VBOXWDDM_CONTEXT, *PVBOXWDDM_CONTEXT;
    145166
    146 #define VBOXWDDMENTRY_2_CONTEXT(_pE) ((PVBOXWDDM_CONTEXT)((uint8_t*)(_pE) - RT_OFFSETOF(VBOXWDDM_CONTEXT, ListEntry)))
     167#define VBOXWDDMENTRY_2_SWAPCHAIN(_pE) ((PVBOXWDDM_SWAPCHAIN)((uint8_t*)(_pE) - RT_OFFSETOF(VBOXWDDM_SWAPCHAIN, DevExtListEntry)))
    147168
    148169typedef struct VBOXWDDM_DMA_ALLOCINFO
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette