fix resize problem (reported and fixed by Sandy Stutsman
This commit is contained in:
parent
2317e7c1d4
commit
5f7bba4cbc
@ -3267,7 +3267,7 @@ NTSTATUS QxlDevice::QxlInit(DXGK_DISPLAY_INFORMATION* pDispInfo)
|
|||||||
|
|
||||||
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_RESET), 0);
|
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_RESET), 0);
|
||||||
CreateRings();
|
CreateRings();
|
||||||
m_RamHdr->int_mask = QXL_INTERRUPT_MASK;
|
m_RamHdr->int_mask = ~0;
|
||||||
CreateMemSlots();
|
CreateMemSlots();
|
||||||
InitDeviceMemoryResources();
|
InitDeviceMemoryResources();
|
||||||
return Status;
|
return Status;
|
||||||
@ -4419,8 +4419,8 @@ NTSTATUS QxlDevice::Escape(_In_ CONST DXGKARG_ESCAPE* pEscap)
|
|||||||
return STATUS_INVALID_BUFFER_SIZE;
|
return STATUS_INVALID_BUFFER_SIZE;
|
||||||
}
|
}
|
||||||
custom_display = (QXLEscapeSetCustomDisplay*)pEscap->pPrivateDriverData;
|
custom_display = (QXLEscapeSetCustomDisplay*)pEscap->pPrivateDriverData;
|
||||||
xres = (custom_display->xres + 3) & ~0x3;
|
xres = custom_display->xres & ~0x3;
|
||||||
yres = (custom_display->yres +3) & ~0x3;
|
yres = custom_display->yres & ~0x3;
|
||||||
bpp = custom_display->bpp;
|
bpp = custom_display->bpp;
|
||||||
if (bpp != QXL_BPP)
|
if (bpp != QXL_BPP)
|
||||||
{
|
{
|
||||||
@ -4525,7 +4525,7 @@ BOOLEAN QxlDevice::InterruptRoutine(_In_ PDXGKRNL_INTERFACE pDxgkInterface, _In_
|
|||||||
|
|
||||||
pDxgkInterface->DxgkCbNotifyInterrupt(pDxgkInterface->DeviceHandle,¬ifyInt);
|
pDxgkInterface->DxgkCbNotifyInterrupt(pDxgkInterface->DeviceHandle,¬ifyInt);
|
||||||
if (!pDxgkInterface->DxgkCbQueueDpc(pDxgkInterface->DeviceHandle)) {
|
if (!pDxgkInterface->DxgkCbQueueDpc(pDxgkInterface->DeviceHandle)) {
|
||||||
m_RamHdr->int_mask = QXL_INTERRUPT_MASK;
|
m_RamHdr->int_mask = ~0;
|
||||||
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
||||||
DbgPrint(TRACE_LEVEL_FATAL, ("---> %s DxgkCbQueueDpc failed\n", __FUNCTION__));
|
DbgPrint(TRACE_LEVEL_FATAL, ("---> %s DxgkCbQueueDpc failed\n", __FUNCTION__));
|
||||||
}
|
}
|
||||||
@ -4560,7 +4560,7 @@ VOID QxlDevice::DpcRoutine(PVOID ptr)
|
|||||||
DbgPrint(TRACE_LEVEL_INFORMATION, ("---> %s m_IoCmdEvent\n", __FUNCTION__));
|
DbgPrint(TRACE_LEVEL_INFORMATION, ("---> %s m_IoCmdEvent\n", __FUNCTION__));
|
||||||
KeSetEvent (&m_IoCmdEvent, IO_NO_INCREMENT, FALSE);
|
KeSetEvent (&m_IoCmdEvent, IO_NO_INCREMENT, FALSE);
|
||||||
}
|
}
|
||||||
m_RamHdr->int_mask = QXL_INTERRUPT_MASK;
|
m_RamHdr->int_mask = ~0;
|
||||||
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_UPDATE_IRQ), 0);
|
||||||
|
|
||||||
DbgPrint(TRACE_LEVEL_INFORMATION, ("<--- %s\n", __FUNCTION__));
|
DbgPrint(TRACE_LEVEL_INFORMATION, ("<--- %s\n", __FUNCTION__));
|
||||||
|
@ -424,7 +424,7 @@ public:
|
|||||||
NTSTATUS QueryCurrentMode(PVIDEO_MODE RequestedMode);
|
NTSTATUS QueryCurrentMode(PVIDEO_MODE RequestedMode);
|
||||||
NTSTATUS SetCurrentMode(ULONG Mode);
|
NTSTATUS SetCurrentMode(ULONG Mode);
|
||||||
NTSTATUS GetCurrentMode(ULONG* Mode);
|
NTSTATUS GetCurrentMode(ULONG* Mode);
|
||||||
ULONG GetModeCount(void) {return m_ModeCount/* - 2*/;}
|
ULONG GetModeCount(void) {return m_ModeCount;}
|
||||||
NTSTATUS SetPowerState(DEVICE_POWER_STATE DevicePowerState, DXGK_DISPLAY_INFORMATION* pDispInfo);
|
NTSTATUS SetPowerState(DEVICE_POWER_STATE DevicePowerState, DXGK_DISPLAY_INFORMATION* pDispInfo);
|
||||||
NTSTATUS HWInit(PCM_RESOURCE_LIST pResList, DXGK_DISPLAY_INFORMATION* pDispInfo);
|
NTSTATUS HWInit(PCM_RESOURCE_LIST pResList, DXGK_DISPLAY_INFORMATION* pDispInfo);
|
||||||
NTSTATUS HWClose(void);
|
NTSTATUS HWClose(void);
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
// Driver Entry point
|
// Driver Entry point
|
||||||
//
|
//
|
||||||
|
|
||||||
int nDebugLevel = TRACE_LEVEL_INFORMATION;
|
int nDebugLevel = TRACE_LEVEL_ERROR;
|
||||||
|
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
|
Loading…
Reference in New Issue
Block a user