[Spice-devel] [PATCH qxl-wddm-dod v4 10/10] Fixing possible BSOD

2016-09-11 Thread Sameeh Jubran
Interrupts seem to arrive to the driver before the initialization phase is over (m_pHWDevice = NULL), in that case we can't handle interrupts yet. Even when m_pHWDevice isn't NULL, other fields aren't necessarly fully intialized till the StartDevice function has finished initialization, thus the

[Spice-devel] [PATCH qxl-wddm-dod v4 09/10] Removing unnecessary call to BlackOutScreen

2016-09-11 Thread Sameeh Jubran
This call to BlackOutScreen is not needed since the actual display surface is destroyed and created (redrawn) again. Acked-by: Frediano Ziglio Signed-off-by: Sameeh Jubran --- qxldod/QxlDod.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git

[Spice-devel] [PATCH qxl-wddm-dod v4 08/10] Fix source buffer mapping in PresentDisplayOnly

2016-09-11 Thread Sameeh Jubran
Part of source image mapped by PresentDisplayOnly should be big enough to cover all rectangles being transferred. Signed-off-by: Sameeh Jubran Signed-off-by: Dmitry Fleytman --- qxldod/QxlDod.cpp | 28 +++- qxldod/QxlDod.h | 2 ++

[Spice-devel] [PATCH qxl-wddm-dod v4 06/10] Use frame buffer in VGA mode only

2016-09-11 Thread Sameeh Jubran
Framebuffer should only be used in VGA mode, as WDDM DOD driver doesn't use the frame buffer (bar0), so no reason to map in into memory. However the mode is only known at runtime therefore framebuffer logic should be active when the driver is operating in vga mode only. There were rare BSOD

[Spice-devel] [PATCH qxl-wddm-dod v4 03/10] Use MmMapIoSpaceEx instead of MmMapIoSpace

2016-09-11 Thread Sameeh Jubran
Based on a patch by Sandy Stutsman Signed-off-by: Sameeh Jubran --- qxldod/QxlDod.cpp | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp index d07c7b4..93fd8c6 100755 --- a/qxldod/QxlDod.cpp

[Spice-devel] [PATCH qxl-wddm-dod v4 01/10] Fixed misspelling

2016-09-11 Thread Sameeh Jubran
Fixed misspelling: HwDeviceInterface Fixed misspelling: GetDxgkInterface Based on a patch by Sandy Stutsman Signed-off-by: Sameeh Jubran --- qxldod/QxlDod.cpp | 4 ++-- qxldod/QxlDod.h | 13 +++-- 2 files changed, 9 insertions(+), 8

[Spice-devel] [PATCH qxl-wddm-dod v4 00/10] Win10 support patches

2016-09-11 Thread Sameeh Jubran
This series contains the latest patches to support Windows 10. Visual Studio 2015 with Win10 WDK is required to compile this code, Current patches may be compiled and will work for Windows 10. To ease the process of the reviews, those patches are avilable on:

[Spice-devel] [PATCH qxl-wddm-dod v4 02/10] Add arbitrary resolution and monitors_config Escape

2016-09-11 Thread Sameeh Jubran
This patch adds introduces support for arbitrary resolution and updating monitor configurations using custom ioctls. This patch doesn't make any restriction for minimal resolution at all as Windows can handle low resolution just fine, moreover the old (XPDM) driver behaves like this too. Based

[Spice-devel] [PATCH qxl-wddm-dod v4 04/10] Code Analysis fix

2016-09-11 Thread Sameeh Jubran
The PAGED_CODE macro ensures that the calling thread is running at an IRQL that is low enough to permit paging. A call to this macro should be made at the beginning of every driver routine that either contains pageable code or accesses pageable code. Based on a patch by Sandy Stutsman

[Spice-devel] [PATCH qxl-wddm-dod v4 05/10] Use the second bar (VRAM) for qxl command buffer.

2016-09-11 Thread Sameeh Jubran
Based on a patch by Sandy Stutsman Acked-by: Frediano Ziglio Signed-off-by: Sameeh Jubran --- qxldod/QxlDod.cpp | 52 ++-- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git

[Spice-devel] [PATCH qxl-wddm-dod v4 07/10] Fixing framebuffer usage logic

2016-09-11 Thread Sameeh Jubran
This patch fixes 2 issues: 1. Framebuffer should only be used in vga mode, therefore when QxlDevice is active FrameBufferIsActive flag shouldn't be checked; 2. FrameBufferIsActive flag should be set true on successfull frame buffer allocation only. Signed-off-by: Dmitry