qxl-wddm-dod/qxldod
yuri.benditovich@daynix.com 6a01308788 qxl-wddm-dod: Prepare for failure to allocate memory
Preparation for further scenarios when memory allocation failure
can happen and we'll need to use fallback when possible.
Memory allocation can fail in following cases:
- when non-forced memory allocation used and the attempt to allocate
  the memory must be as fast as possible, without waits
- when forced memory allocation used, but the driver already received
  stop command and waits for thread termination. Note that in case
  the VSync control is enabled stop command may happen even after the video
  subsystem executes switch to VGA mode. In such case QEMU will not return
  previously allocated objects (assuming the QXL driver already disabled
  and ignoring callbacks from Spice server in VGA mode).

In case of forced memory allocation the allocation routine waits
unpredictable time until the request is satisfied. In current commit
we do not acquire m_MemLock mutex for all this time, but release it
when entering long wait to allow another caller to try allocating memory.

Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
2017-04-12 08:20:54 +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: Prepare for failure to allocate memory 2017-04-12 08:20:54 +01:00
QxlDod.h qxl-wddm-dod: Prepare for failure to allocate memory 2017-04-12 08:20:54 +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