Changeset 59518 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Video/mp
- Timestamp:
- Jan 29, 2016 9:07:19 AM (9 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPVidPn.cpp
r52631 r59518 128 128 pVsi->ActiveSize.cx = pResolution->cx; 129 129 pVsi->ActiveSize.cy = pResolution->cy; 130 pVsi->VSyncFreq.Numerator = VSync * 1000; 131 pVsi->VSyncFreq.Denominator = 1000; 132 pVsi->TotalSize.cx = pVsi->ActiveSize.cx;// + VBOXVDPN_C_DISPLAY_HBLANK_SIZE; 133 pVsi->TotalSize.cy = pVsi->ActiveSize.cy;// + VBOXVDPN_C_DISPLAY_VBLANK_SIZE; 134 pVsi->PixelRate = pVsi->TotalSize.cx * pVsi->TotalSize.cy * VSync; 135 pVsi->HSyncFreq.Numerator = (UINT)((pVsi->PixelRate / pVsi->TotalSize.cy) * 1000); 136 pVsi->HSyncFreq.Denominator = 1000; 130 pVsi->TotalSize = pVsi->ActiveSize; 131 if (VBOXWDDM_IS_DISPLAYONLY()) 132 { 133 /* VSYNC is not implemented in display-only mode (#8228). 134 * In this case Windows checks that frequencies are not specified. 135 */ 136 pVsi->VSyncFreq.Numerator = D3DKMDT_FREQUENCY_NOTSPECIFIED; 137 pVsi->VSyncFreq.Denominator = D3DKMDT_FREQUENCY_NOTSPECIFIED; 138 pVsi->PixelRate = D3DKMDT_FREQUENCY_NOTSPECIFIED; 139 pVsi->HSyncFreq.Numerator = D3DKMDT_FREQUENCY_NOTSPECIFIED; 140 pVsi->HSyncFreq.Denominator = D3DKMDT_FREQUENCY_NOTSPECIFIED; 141 } 142 else 143 { 144 pVsi->VSyncFreq.Numerator = VSync * 1000; 145 pVsi->VSyncFreq.Denominator = 1000; 146 pVsi->PixelRate = pVsi->TotalSize.cx * pVsi->TotalSize.cy * VSync; 147 pVsi->HSyncFreq.Numerator = (UINT)((pVsi->PixelRate / pVsi->TotalSize.cy) * 1000); 148 pVsi->HSyncFreq.Denominator = 1000; 149 } 137 150 pVsi->ScanLineOrdering = D3DDDI_VSSLO_PROGRESSIVE; 138 151 -
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
r59177 r59518 7301 7301 DriverInitializationData.DxgkDdiUpdateActiveVidPnPresentPath = DxgkDdiUpdateActiveVidPnPresentPath; 7302 7302 DriverInitializationData.DxgkDdiRecommendMonitorModes = DxgkDdiRecommendMonitorModes; 7303 DriverInitializationData.DxgkDdiGetScanLine = DxgkDdiGetScanLine;7304 7303 DriverInitializationData.DxgkDdiQueryVidPnHWCapability = DxgkDdiQueryVidPnHWCapability; 7305 7304 DriverInitializationData.DxgkDdiPresentDisplayOnly = DxgkDdiPresentDisplayOnly; … … 7308 7307 DriverInitializationData.DxgkDdiSystemDisplayWrite = DxgkDdiSystemDisplayWrite; 7309 7308 // DriverInitializationData.DxgkDdiGetChildContainerId = DxgkDdiGetChildContainerId; 7310 DriverInitializationData.DxgkDdiControlInterrupt = DxgkDdiControlInterrupt;7311 7309 // DriverInitializationData.DxgkDdiSetPowerComponentFState = DxgkDdiSetPowerComponentFState; 7312 7310 // DriverInitializationData.DxgkDdiPowerRuntimeControlRequest = DxgkDdiPowerRuntimeControlRequest; 7313 7311 // DriverInitializationData.DxgkDdiNotifySurpriseRemoval = DxgkDdiNotifySurpriseRemoval; 7312 7313 /* Display-only driver is not required to report VSYNC. 7314 * The Microsoft KMDOD driver sample does not implement DxgkDdiControlInterrupt and DxgkDdiGetScanLine. 7315 * The functions must be either both implemented or none implemented. 7316 * Windows 10 10586 guests had problems with VSYNC in display-only driver (#8228). 7317 * Therefore the driver does not implement DxgkDdiControlInterrupt and DxgkDdiGetScanLine. 7318 */ 7314 7319 7315 7320 NTSTATUS Status = DxgkInitializeDisplayOnlyDriver(pDriverObject,
Note:
See TracChangeset
for help on using the changeset viewer.