VirtualBox

Ignore:
Timestamp:
Aug 26, 2016 9:57:20 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
110378
Message:

3D: Reverted r110321, more simple solution found for bugref:8387

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPTypes.h

    r63611 r63646  
    129129    BOOLEAN fTargetsReported;
    130130    BOOLEAN bVisible;
    131     BOOLEAN bPowerOff;
    132131#ifdef VBOX_WITH_CROGL
    133132    /* specifies whether the source has 3D overlay data visible */
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.cpp

    r63611 r63646  
    23272327NTSTATUS VBoxVidPnCommitSourceModeForSrcId(PVBOXMP_DEVEXT pDevExt, const D3DKMDT_HVIDPN hDesiredVidPn, const DXGK_VIDPN_INTERFACE* pVidPnInterface,
    23282328        PVBOXWDDM_ALLOCATION pAllocation,
    2329         D3DDDI_VIDEO_PRESENT_SOURCE_ID  VidPnSourceId, VBOXWDDM_SOURCE *paSources, VBOXWDDM_TARGET *paTargets, BOOLEAN bPathPowerTransition)
     2329        D3DDDI_VIDEO_PRESENT_SOURCE_ID  VidPnSourceId, VBOXWDDM_SOURCE *paSources, VBOXWDDM_TARGET *paTargets)
    23302330{
    23312331    D3DKMDT_HVIDPNSOURCEMODESET hCurVidPnSourceModeSet;
     
    24152415    }
    24162416
    2417     pSource->bPowerOff = bPathPowerTransition;
    24182417    return Status;
    24192418}
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.h

    r63611 r63646  
    7474NTSTATUS VBoxVidPnCommitSourceModeForSrcId(PVBOXMP_DEVEXT pDevExt, const D3DKMDT_HVIDPN hDesiredVidPn, const DXGK_VIDPN_INTERFACE* pVidPnInterface,
    7575        PVBOXWDDM_ALLOCATION pAllocation,
    76         D3DDDI_VIDEO_PRESENT_SOURCE_ID  VidPnSourceId, VBOXWDDM_SOURCE *paSources, VBOXWDDM_TARGET *paTargets, BOOLEAN bPathPowerTransition = false);
     76        D3DDDI_VIDEO_PRESENT_SOURCE_ID  VidPnSourceId, VBOXWDDM_SOURCE *paSources, VBOXWDDM_TARGET *paTargets);
    7777
    7878NTSTATUS VBoxVidPnCommitAll(PVBOXMP_DEVEXT pDevExt, const D3DKMDT_HVIDPN hDesiredVidPn, const DXGK_VIDPN_INTERFACE* pVidPnInterface,
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r63611 r63646  
    395395}
    396396
    397 NTSTATUS vboxWddmGhDisplaySetInfoNew(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOC_DATA *pAllocData, const uint32_t *pTargetMap, const POINT * pVScreenPos, uint8_t u8CurCyncState, BOOLEAN bPowerOff = false)
     397NTSTATUS vboxWddmGhDisplaySetInfoNew(PVBOXMP_DEVEXT pDevExt, const VBOXWDDM_ALLOC_DATA *pAllocData, const uint32_t *pTargetMap, const POINT * pVScreenPos, uint8_t u8CurCyncState)
    398398{
    399399    NTSTATUS Status = STATUS_SUCCESS;
    400     bool bValidAlloc = pAllocData->SurfDesc.width > 0 && pAllocData->SurfDesc.height > 0;
    401     uint16_t fu16Flags;
    402 
    403     PVBOXMP_COMMON pCommon = VBoxCommonFromDeviceExt(pDevExt);
    404     uint16_t fu16SupportedFlags = VBoxHGSMIGetScreenFlags(&pCommon->guestCtx);
    405     if (   bPowerOff
    406         && RT_BOOL(fu16SupportedFlags & VBVA_SCREEN_F_BLANK2))
    407     {
    408         fu16Flags = VBVA_SCREEN_F_ACTIVE | VBVA_SCREEN_F_BLANK2;
    409     }
    410     else
    411     {
    412         fu16Flags = bValidAlloc ? VBVA_SCREEN_F_ACTIVE : VBVA_SCREEN_F_DISABLED;
    413     }
    414 
    415     if (bValidAlloc)
     400    bool fEnabled = !!pAllocData->SurfDesc.width;
     401    uint16_t fu16Flags = fEnabled ? VBVA_SCREEN_F_ACTIVE : VBVA_SCREEN_F_DISABLED;
     402    if (fEnabled)
    416403    {
    417404#ifdef VBOX_WITH_CROGL
     
    436423        {
    437424#ifdef VBOX_WITH_CROGL
    438             if (bValidAlloc && pDevExt->f3DEnabled)
     425            if (fEnabled && pDevExt->f3DEnabled)
    439426            {
    440427                Status = vboxVdmaTexPresentSetAlloc(pDevExt, pAllocData);
     
    480467    }
    481468
    482     NTSTATUS Status = vboxWddmGhDisplaySetInfoNew(pDevExt, &pSource->AllocData, pTargetMap, &pSource->VScreenPos, pSource->u8SyncState, pSource->bPowerOff);
     469    NTSTATUS Status = vboxWddmGhDisplaySetInfoNew(pDevExt, &pSource->AllocData, pTargetMap, &pSource->VScreenPos, pSource->u8SyncState);
    483470    if (NT_SUCCESS(Status))
    484471    {
     
    10451032
    10461033    NTSTATUS Status = STATUS_SUCCESS;
    1047     PVBOXMP_DEVEXT pDevExt = NULL;
     1034    PVBOXMP_DEVEXT pDevExt;
    10481035
    10491036    WCHAR RegKeyBuf[512];
     
    53725359                    pCommitVidPnArg->hFunctionalVidPn, pVidPnInterface,
    53735360                    (PVBOXWDDM_ALLOCATION)pCommitVidPnArg->hPrimaryAllocation,
    5374                     pCommitVidPnArg->AffectedVidPnSourceId, paSources, paTargets, (BOOLEAN)pCommitVidPnArg->Flags.PathPowerTransition);
     5361                    pCommitVidPnArg->AffectedVidPnSourceId, paSources, paTargets);
    53755362            if (!NT_SUCCESS(Status))
    53765363            {
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.h

    r63611 r63646  
    171171{
    172172    VBOXVIDEOOFFSET offVram = vboxWddmAddrFramOffset(&pAllocData->Addr);
    173     if (offVram == VBOXVIDEOOFFSET_VOID && !(fFlags & (VBVA_SCREEN_F_DISABLED | VBVA_SCREEN_F_BLANK2)))
     173    if (offVram == VBOXVIDEOOFFSET_VOID && !(fFlags & VBVA_SCREEN_F_DISABLED))
    174174    {
    175175        WARN(("offVram == VBOXVIDEOOFFSET_VOID"));
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