qxl-wddm-dod/qxldod
yuri.benditovich@daynix.com 8fb1b0a23e qxl-wddm-dod: Non-forced memory allocations with VSync
In case of VSync is active (for the driver this means it shall take
in account watchdog policy and ensure fast execution of PresentDisplayOnly
callback) allocate bitmaps for drawable objects using non-forced requests.
If immediate allocation is not possible, place entire bitmap into memory
chunk allocated from the OS.
If bitmap is allocated from device memory, but one of later
chunks can't be allocated, allocate this and further chunks from
OS memory. All these 'delayed' allocations placed into linked list
which root entry is part of QXLOutput structure.
>From separate thread, before sending drawable objects down, review
the list of delayed chunks and allocate device memory (forced) to
all of them.
The cost of solution is 2 pointers added to each drawable or cursor
object.
Cursor commands currently do not use them; in future we have an option
to offload also cursor commands.

Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2017-04-12 08:21:01 +01:00
..
include Add arbitrary resolution and monitors_config Escape 2016-09-12 10:13:33 +01:00
BaseObject.cpp Change licence to Apache v2 2016-11-04 11:18:09 +00:00
BaseObject.h Change licence to Apache v2 2016-11-04 11:18:09 +00:00
compat.cpp Update some file copyright statements 2016-11-07 09:45:14 +00:00
compat.h Update some file copyright statements 2016-11-07 09:45:14 +00:00
driver.cpp qxl-wddm-dod: Registry-based control over VSync 2017-04-03 10:14:40 +01:00
driver.h qxl-wddm-dod: Preparation for VSync activation 2017-02-22 16:38:28 +00:00
getVisualStudioCmdLine.vbs Change licence to Apache v2 2016-11-04 11:18:09 +00:00
mspace.c initial commit 2014-09-02 17:36:27 +10:00
mspace.h initial commit 2014-09-02 17:36:27 +10:00
QxlDod.cpp qxl-wddm-dod: Non-forced memory allocations with VSync 2017-04-12 08:21:01 +01:00
QxlDod.h qxl-wddm-dod: Non-forced memory allocations with VSync 2017-04-12 08:21:01 +01:00
qxldod.inf Convert UTF-16LE files to single byte unix format 2016-09-09 11:09:36 +01:00
qxldod.inx Change licence to Apache v2 2016-11-04 11:18:09 +00:00
qxldod.rc Configurable version information in binary and INF 2016-11-04 08:50:50 +00:00
qxldod.vcxproj Configurable version information in binary and INF 2016-11-04 08:50:50 +00:00
qxldod.vcxproj.filters Use MmMapIoSpaceEx instead of MmMapIoSpace 2016-10-19 17:39:42 +01:00
qxldod.vcxproj.user Upgrade to Windows 10 WDK 2016-09-09 11:09:31 +01:00
resource.h initial commit 2014-09-02 17:36:27 +10:00
Version.props Configurable version information in binary and INF 2016-11-04 08:50:50 +00:00