VirtualBox

Changeset 52137 in vbox


Ignore:
Timestamp:
Jul 22, 2014 7:59:31 PM (11 years ago)
Author:
vboxsync
Message:

wddm simplify a bit

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/VBox

  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.cpp

    r52136 r52137  
    16301630    const D3DKMDT_VIDPN_PRESENT_PATH * pPath;
    16311631    VBOXCMDVBVA_SCREENMAP_DECL(uint32_t, aVisitedTargetMap);
    1632     VBOXCMDVBVA_SCREENMAP_DECL(uint32_t, aModeMap);
    1633     CR_SORTARRAY aModes[VBOX_VIDEO_MAX_SCREENS];
    16341632
    16351633    memset(aVisitedTargetMap, 0, sizeof (aVisitedTargetMap));
    1636     memset(aModeMap, 0, sizeof (aModeMap));
    1637     memset(aModes, 0, sizeof (aModes));
    1638 
    1639     CR_SORTARRAY TargetMode = {0};
    16401634
    16411635    BOOLEAN fSupported = TRUE;
     
    16441638    while ((pPath = VBoxVidPnPathIterNext(&PathIter)) != NULL)
    16451639    {
    1646         CrSaClear(&TargetMode);
    16471640        D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId = pPath->VidPnSourceId;
    16481641        D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId = pPath->VidPnTargetId;
     
    16811674            break;
    16821675        }
    1683 
    1684         {
    1685             D3DKMDT_HVIDPNTARGETMODESET hVidPnModeSet;
    1686             const DXGK_VIDPNTARGETMODESET_INTERFACE *pVidPnModeSetInterface;
    1687             Status = pVidPnInterface->pfnAcquireTargetModeSet(hVidPn,
    1688                         VidPnTargetId,
    1689                         &hVidPnModeSet,
    1690                         &pVidPnModeSetInterface);
    1691             if (!NT_SUCCESS(Status))
    1692             {
    1693                 WARN(("pfnAcquireTargetModeSet failed %#x", Status));
    1694                 break;
    1695             }
    1696 
    1697             Status = vboxVidPnTargetModeSetToArray(hVidPnModeSet, pVidPnModeSetInterface, &TargetMode);
    1698             if (!NT_SUCCESS(Status))
    1699             {
    1700                 WARN(("vboxVidPnTargetModeSetToArray failed %#x", Status));
    1701                 break;
    1702             }
    1703 
    1704             NTSTATUS tmpStatus = pVidPnInterface->pfnReleaseTargetModeSet(hVidPn, hVidPnModeSet);
    1705             Assert(tmpStatus == STATUS_SUCCESS);
    1706         }
    1707 
    1708         if (!ASMBitTest(aModeMap, VidPnSourceId))
    1709         {
    1710             D3DKMDT_HVIDPNSOURCEMODESET hVidPnModeSet;
    1711             const DXGK_VIDPNSOURCEMODESET_INTERFACE *pVidPnModeSetInterface;
    1712             Status = pVidPnInterface->pfnAcquireSourceModeSet(hVidPn,
    1713                         VidPnSourceId,
    1714                         &hVidPnModeSet,
    1715                         &pVidPnModeSetInterface);
    1716             if (!NT_SUCCESS(Status))
    1717             {
    1718                 WARN(("pfnAcquireSourceModeSet failed %#x", Status));
    1719                 break;
    1720             }
    1721 
    1722             Status = vboxVidPnSourceModeSetToArray(hVidPnModeSet, pVidPnModeSetInterface, &aModes[VidPnSourceId]);
    1723             if (!NT_SUCCESS(Status))
    1724             {
    1725                 WARN(("vboxVidPnSourceModeSetToArray failed %#x", Status));
    1726                 break;
    1727             }
    1728 
    1729             NTSTATUS tmpStatus = pVidPnInterface->pfnReleaseSourceModeSet(hVidPn, hVidPnModeSet);
    1730             Assert(tmpStatus == STATUS_SUCCESS);
    1731 
    1732             ASMBitSet(aModeMap, VidPnSourceId);
    1733         }
    1734 
    1735         if (CrSaCmp(&aModes[VidPnSourceId], &TargetMode))
    1736         {
    1737             WARN(("not expected 2?"));
    1738             fSupported = FALSE;
    1739             break;
    1740         }
    1741 
    1742 #if 0
    1743         const CR_SORTARRAY *pSupportedModes = VBoxWddmVModesGet(pDevExt, VidPnTargetId);
    1744         if (!CrSaCovers(pSupportedModes, &TargetMode))
    1745         {
    1746             WARN(("not expected 3?"));
    1747             fSupported = FALSE;
    1748             break;
    1749         }
    1750 #endif
    17511676    }
    17521677
     
    17651690    *pfSupported = fSupported;
    17661691done:
    1767 
    1768     CrSaCleanup(&TargetMode);
    1769 
    1770     for (uint32_t i = 0; i < (uint32_t)VBoxCommonFromDeviceExt(pDevExt)->cDisplays; ++i)
    1771     {
    1772         CrSaCleanup(&aModes[i]);
    1773     }
    1774 
    17751692
    17761693    return Status;
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