summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Rozenfeld <vrozenfe@redhat.com>2015-03-18 22:58:25 +1100
committerVadim Rozenfeld <vrozenfe@redhat.com>2015-03-18 22:58:25 +1100
commit5f7bba4cbc1b0f2ad5b589e43d3f7a435969b44c (patch)
treee1d5fa69a7f0ff4671e1db870cf27078d9a3d423
parent2317e7c1d468be932fb5654104db484481fa402a (diff)
fix resize problem (reported and fixed by Sandy Stutsman
-rwxr-xr-xqxldod/QxlDod.cpp10
-rwxr-xr-xqxldod/QxlDod.h2
-rwxr-xr-xqxldod/driver.cpp2
3 files changed, 7 insertions, 7 deletions
diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index d128a86..09ee73f 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -3267,7 +3267,7 @@ NTSTATUS QxlDevice::QxlInit(DXGK_DISPLAY_INFORMATION* pDispInfo)
WRITE_PORT_UCHAR((PUCHAR)(m_IoBase + QXL_IO_RESET), 0);
CreateRings();
- m_RamHdr->int_mask = QXL_INTERRUPT_MASK;
+ m_RamHdr->int_mask = ~0;
CreateMemSlots();
InitDeviceMemoryResources();
return Status;
@@ -4419,8 +4419,8 @@ NTSTATUS QxlDevice::Escape(_In_ CONST DXGKARG_ESCAPE* pEscap)
return STATUS_INVALID_BUFFER_SIZE;
}
custom_display = (QXLEscapeSetCustomDisplay*)pEscap->pPrivateDriverData;
- xres = (custom_display->xres + 3) & ~0x3;
- yres = (custom_display->yres +3) & ~0x3;
+ xres = custom_display->xres & ~0x3;
+ yres = custom_display->yres & ~0x3;
bpp = custom_display->bpp;
if (bpp != QXL_BPP)
{
@@ -4525,7 +4525,7 @@ BOOLEAN QxlDevice::InterruptRoutine(_In_ PDXGKRNL_INTERFACE pDxgkInterface, _In_
pDxgkInterface->DxgkCbNotifyInterrupt(pDxgkInterface->DeviceHandle,&notifyInt);
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);
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__));
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);
DbgPrint(TRACE_LEVEL_INFORMATION, ("<--- %s\n", __FUNCTION__));
diff --git a/qxldod/QxlDod.h b/qxldod/QxlDod.h
index 6e3af2a..c00b5cb 100755
--- a/qxldod/QxlDod.h
+++ b/qxldod/QxlDod.h
@@ -424,7 +424,7 @@ public:
NTSTATUS QueryCurrentMode(PVIDEO_MODE RequestedMode);
NTSTATUS SetCurrentMode(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 HWInit(PCM_RESOURCE_LIST pResList, DXGK_DISPLAY_INFORMATION* pDispInfo);
NTSTATUS HWClose(void);
diff --git a/qxldod/driver.cpp b/qxldod/driver.cpp
index f7c5fb3..48bf346 100755
--- a/qxldod/driver.cpp
+++ b/qxldod/driver.cpp
@@ -9,7 +9,7 @@
// Driver Entry point
//
-int nDebugLevel = TRACE_LEVEL_INFORMATION;
+int nDebugLevel = TRACE_LEVEL_ERROR;
extern "C"