Changeset 52137 in vbox
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/VBox-4.3 merged: 95167
- Property svn:mergeinfo changed
-
trunk/src/VBox
- Property svn:mergeinfo changed
/branches/VBox-4.3/src/VBox merged: 95167
- Property svn:mergeinfo changed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.cpp
r52136 r52137 1630 1630 const D3DKMDT_VIDPN_PRESENT_PATH * pPath; 1631 1631 VBOXCMDVBVA_SCREENMAP_DECL(uint32_t, aVisitedTargetMap); 1632 VBOXCMDVBVA_SCREENMAP_DECL(uint32_t, aModeMap);1633 CR_SORTARRAY aModes[VBOX_VIDEO_MAX_SCREENS];1634 1632 1635 1633 memset(aVisitedTargetMap, 0, sizeof (aVisitedTargetMap)); 1636 memset(aModeMap, 0, sizeof (aModeMap));1637 memset(aModes, 0, sizeof (aModes));1638 1639 CR_SORTARRAY TargetMode = {0};1640 1634 1641 1635 BOOLEAN fSupported = TRUE; … … 1644 1638 while ((pPath = VBoxVidPnPathIterNext(&PathIter)) != NULL) 1645 1639 { 1646 CrSaClear(&TargetMode);1647 1640 D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId = pPath->VidPnSourceId; 1648 1641 D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId = pPath->VidPnTargetId; … … 1681 1674 break; 1682 1675 } 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 01743 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 #endif1751 1676 } 1752 1677 … … 1765 1690 *pfSupported = fSupported; 1766 1691 done: 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 1775 1692 1776 1693 return Status;
Note:
See TracChangeset
for help on using the changeset viewer.