VirtualBox

Ignore:
Timestamp:
Nov 3, 2019 3:49:20 PM (5 years ago)
Author:
vboxsync
Message:

WDDM: miniport should tell the user mode driver whether 3D is enabled for the VM

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/common/wddm/VBoxMPIf.h

    r80488 r81632  
    3636
    3737/* One would increase this whenever definitions in this file are changed */
    38 #define VBOXVIDEOIF_VERSION 21
     38#define VBOXVIDEOIF_VERSION 22
    3939
    4040/** @todo VBOXVIDEO_HWTYPE probably needs to be in VBoxVideo.h */
     
    569569#endif /* VBOX_WITH_MESA3D */
    570570
     571#define VBOXWDDM_QAI_CAP_3D 0x00000001 /* 3D is enabled in the VM settings. */
     572
    571573/* D3DDDICB_QUERYADAPTERINFO::pPrivateDriverData */
    572574typedef struct VBOXWDDM_QAI
     
    575577    uint32_t            u32Reserved;     /* Must be 0. */
    576578    VBOXVIDEO_HWTYPE    enmHwType;       /* Hardware type. Determines what kind of data is returned. */
     579    uint32_t            u32AdapterCaps;  /* VBOXWDDM_QAI_CAP_* */
    577580    uint32_t            cInfos;          /* Number of initialized elements in aInfos (equal to number of guest
    578581                                          * displays). 0 if VBOX_WITH_VIDEOHWACCEL is not defined. */
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/VBoxDispD3D.cpp

    r80372 r81632  
    114114        pAdapter->u32VBox3DCaps = pAdapterInfo->u.vbox.u32VBox3DCaps;
    115115    pAdapter->AdapterInfo = *pAdapterInfo;
    116     pAdapter->f3D         = !vboxDispIsDDraw(pOpenData);
     116    pAdapter->f3D         =    RT_BOOL(pAdapterInfo->u32AdapterCaps & VBOXWDDM_QAI_CAP_3D)
     117                            && !vboxDispIsDDraw(pOpenData);
    117118#ifdef VBOX_WITH_VIDEOHWACCEL
    118119    pAdapter->cHeads      = pAdapterInfo->cInfos;
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/gallium/GaDdi.cpp

    r81082 r81632  
    49654965                else
    49664966                {
    4967                     AssertFailed();
    49684967                    memset(pData->pData, 0, sizeof (D3DCAPS9));
    49694968                }
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r81594 r81632  
    20002000                    pQAI->u32Version = VBOXVIDEOIF_VERSION;
    20012001                    pQAI->enmHwType = pDevExt->enmHwType;
     2002                    pQAI->u32AdapterCaps = pDevExt->f3DEnabled ? VBOXWDDM_QAI_CAP_3D : 0;
    20022003                    if (pDevExt->enmHwType == VBOXVIDEO_HWTYPE_VBOX)
    20032004                    {
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