[Spice-devel] [PATCH qxl-wddm-dod 25/26] Fixing monitor flicker on resolution change

Sameeh Jubran sameeh at daynix.com
Tue Aug 9 15:31:30 UTC 2016


Passing the flag QXL_SURF_FLAG_KEEP_DATA to the new created surface
causes weird flickering, thus this should be set to 0.

Signed-off-by: Sameeh Jubran <sameeh at daynix.com>
---
 qxldod/QxlDod.cpp | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index 986d679..0fadbab 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -3413,13 +3413,13 @@ void QxlDevice::CreatePrimarySurface(PVIDEO_MODE_INFORMATION pModeInfo)
     primary_surface_create->width = pModeInfo->VisScreenWidth;
     primary_surface_create->height = pModeInfo->VisScreenHeight;
     primary_surface_create->stride = pModeInfo->ScreenStride;
-
-    primary_surface_create->mem = PA( m_RamStart, m_MainMemSlot);
-
-    primary_surface_create->flags = QXL_SURF_FLAG_KEEP_DATA;
-    primary_surface_create->type = QXL_SURF_TYPE_PRIMARY;
-    DbgPrint(TRACE_LEVEL_VERBOSE, ("<--> %s format = %d, width = %d, height = %d, stride = %d\n", __FUNCTION__, pModeInfo->BitsPerPlane, pModeInfo->VisScreenWidth, pModeInfo->VisScreenHeight,
-                                     pModeInfo->ScreenStride));
+
+    primary_surface_create->mem = PA( m_RamStart, m_MainMemSlot);
+
+    primary_surface_create->flags = 0;
+    primary_surface_create->type = QXL_SURF_TYPE_PRIMARY;
+    DbgPrint(TRACE_LEVEL_VERBOSE, ("<--> %s format = %d, width = %d, height = %d, stride = %d\n", __FUNCTION__, pModeInfo->BitsPerPlane, pModeInfo->VisScreenWidth, pModeInfo->VisScreenHeight,
+                                     pModeInfo->ScreenStride));
 //    AsyncIo(QXL_IO_CREATE_PRIMARY_ASYNC, 0);
     SyncIo(QXL_IO_CREATE_PRIMARY, 0);
     DbgPrint(TRACE_LEVEL_VERBOSE, ("<--- %s\n", __FUNCTION__));
-- 
2.7.0.windows.1



More information about the Spice-devel mailing list