present: Send PresentCompleteModeSuboptimalCopy appropriately

Add 'check_flip2' hook for driver to let know the core
about why flipping is not possible ('reason').
If it is because of unsupported buffer format/modifier,
a PresentCompleteNotify event is sent to the client with
the PresentCompleteModeSuboptimalCopy mode.

v2: Check for PresentOptionSuboptimal and check driver version
    before using 'check_flip2'.

v3: Only require one of 'check_flip' or 'check_flip2' to be
    implemented by the driver.
    Refactor reasons list to enum

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Louis-Francis Ratté-Boulianne
2018-02-28 01:19:36 +00:00
committed by Adam Jackson
parent 6e7c40f62d
commit e2ef3b44fa
6 changed files with 50 additions and 20 deletions

View File

@@ -13,7 +13,7 @@ libxserver_present = static_library('libxserver_present',
include_directories: inc,
dependencies: [
common_dep,
dependency('presentproto', version: '>= 1.0')
dependency('presentproto', version: '>= 1.1')
],
c_args: '-DHAVE_XORG_CONFIG_H'
)