Changeset 27201 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoVidPn.cpp
- Timestamp:
- Mar 9, 2010 10:16:07 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 58561
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoVidPn.cpp
r26794 r27201 496 496 } 497 497 498 NTSTATUS vboxVidPnPopulateVideoSignalInfo(PDEVICE_EXTENSION pDevExt, 499 D3DKMDT_VIDEO_SIGNAL_INFO *pVsi, 500 D3DKMDT_2DREGION *pResolution, 501 ULONG VSync) 502 { 503 NTSTATUS Status = STATUS_SUCCESS; 504 505 pVsi->VideoStandard = D3DKMDT_VSS_VESA_DMT; 506 pVsi->ActiveSize = *pResolution; 507 pVsi->VSyncFreq.Numerator = VSync * 1000; 508 pVsi->VSyncFreq.Denominator = 1000; 509 pVsi->TotalSize.cx = pVsi->ActiveSize.cx + VBOXVDPN_C_DISPLAY_HBLANK_SIZE; 510 pVsi->TotalSize.cy = pVsi->ActiveSize.cy + VBOXVDPN_C_DISPLAY_VBLANK_SIZE; 511 pVsi->PixelRate = pVsi->TotalSize.cx * pVsi->TotalSize.cy * VSync; 512 pVsi->HSyncFreq.Numerator = (UINT)((pVsi->PixelRate / pVsi->TotalSize.cy) * 1000); 513 pVsi->HSyncFreq.Denominator = 1000; 514 pVsi->ScanLineOrdering = D3DDDI_VSSLO_PROGRESSIVE; 515 516 return Status; 517 } 518 519 NTSTATUS vboxVidPnPopulateMonitorSourceModeInfoFromLegacy(PDEVICE_EXTENSION pDevExt, 520 D3DKMDT_MONITOR_SOURCE_MODE *pMonitorSourceMode, 521 D3DKMDT_2DREGION *pResolution, 522 D3DKMDT_MONITOR_CAPABILITIES_ORIGIN enmOrigin, 523 BOOLEAN bPreferred) 524 { 525 NTSTATUS Status = vboxVidPnPopulateVideoSignalInfo(pDevExt, &pMonitorSourceMode->VideoSignalInfo, pResolution, 60 /* ULONG VSync */); 526 Assert(Status == STATUS_SUCCESS); 527 if (Status == STATUS_SUCCESS) 528 { 529 pMonitorSourceMode->ColorBasis = D3DKMDT_CB_SRGB; 530 pMonitorSourceMode->ColorCoeffDynamicRanges.FirstChannel = 8; 531 pMonitorSourceMode->ColorCoeffDynamicRanges.SecondChannel = 8; 532 pMonitorSourceMode->ColorCoeffDynamicRanges.ThirdChannel = 8; 533 pMonitorSourceMode->ColorCoeffDynamicRanges.FourthChannel = 0; 534 pMonitorSourceMode->Origin = enmOrigin; 535 pMonitorSourceMode->Preference = bPreferred ? D3DKMDT_MP_PREFERRED : D3DKMDT_MP_NOTPREFERRED; 536 } 537 538 return Status; 539 } 540 498 541 NTSTATUS vboxVidPnPopulateTargetModeInfoFromLegacy(PDEVICE_EXTENSION pDevExt, 499 542 D3DKMDT_VIDPN_TARGET_MODE *pNewVidPnTargetModeInfo, … … 501 544 BOOLEAN bPreferred) 502 545 { 503 NTSTATUS Status = STATUS_SUCCESS;504 505 pNewVidPnTargetModeInfo->VideoSignalInfo.VideoStandard = D3DKMDT_VSS_VESA_DMT;506 pNewVidPnTargetModeInfo->VideoSignalInfo.TotalSize = *pResolution;507 pNewVidPnTargetModeInfo->VideoSignalInfo.ActiveSize = pNewVidPnTargetModeInfo->VideoSignalInfo.TotalSize;508 pNewVidPnTargetModeInfo->VideoSignalInfo.VSyncFreq.Numerator = 60000;509 pNewVidPnTargetModeInfo->VideoSignalInfo.VSyncFreq.Denominator = 1000;510 pNewVidPnTargetModeInfo->VideoSignalInfo.HSyncFreq.Numerator = pNewVidPnTargetModeInfo->VideoSignalInfo.ActiveSize.cy * 63; /* 63 is (60 * 1.05)*/511 pNewVidPnTargetModeInfo->VideoSignalInfo.HSyncFreq.Denominator = 1;512 pNewVidPnTargetModeInfo->VideoSignalInfo.PixelRate = 165000; /* @todo: ? */513 pNewVidPnTargetModeInfo->VideoSignalInfo.ScanLineOrdering = D3DDDI_VSSLO_PROGRESSIVE;514 546 pNewVidPnTargetModeInfo->Preference = bPreferred ? D3DKMDT_MP_PREFERRED : D3DKMDT_MP_NOTPREFERRED; 515 547 516 return Status;548 return vboxVidPnPopulateVideoSignalInfo(pDevExt, &pNewVidPnTargetModeInfo->VideoSignalInfo, pResolution, 60 /* ULONG VSync */); 517 549 } 518 550
Note:
See TracChangeset
for help on using the changeset viewer.