mesa/src/loader
Nicholas Kazlauskas 2e12fe425f loader/dri3: Enable adaptive_sync via _VARIABLE_REFRESH property
The DDX driver can be notified of adaptive sync suitability by
flagging the application's window with the _VARIABLE_REFRESH property.

This property is set on the first swap the application performs
when adaptive_sync is set to true in the drirc.

It's performed here instead of when the loader is initialized for
two reasons:

(1) The window's drawable can be missing during loader init.
    This can be observed during the Unigine Superposition benchmark.

(2) Adaptive sync will only be enabled closer to when the application
    actually begins rendering.

If adaptive_sync is false then the _VARIABLE_REFRESH property
is deleted on loader init.

The property is only managed on the glx DRI3 backend for now. This
should cover most common applications and games on modern hardware.

Vulkan support can be implemented in a similar manner but would likely
require splitting the function out into a common helper function.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
2018-12-28 16:44:47 +01:00
..
Android.mk Android: move libdrm settings to top-level Android.common.mk 2016-06-13 15:31:29 +01:00
loader.c loader: deduplicate logger function declaration 2018-12-04 16:29:32 +00:00
loader.h loader: deduplicate logger function declaration 2018-12-04 16:29:32 +00:00
loader_dri3_helper.c loader/dri3: Enable adaptive_sync via _VARIABLE_REFRESH property 2018-12-28 16:44:47 +01:00
loader_dri3_helper.h loader/dri3: Enable adaptive_sync via _VARIABLE_REFRESH property 2018-12-28 16:44:47 +01:00
Makefile.am loader: Factor out the common driver opening logic from each loader. 2018-11-16 17:49:17 -08:00
Makefile.sources loader: Add headers to distribution. 2014-12-12 12:11:47 -08:00
meson.build loader: Factor out the common driver opening logic from each loader. 2018-11-16 17:49:17 -08:00
pci_id_driver_map.c nouveau: allow NV3x's to be used with nouveau_vieux 2016-08-30 00:21:42 -04:00
pci_id_driver_map.h radeonsi: remove unused field in the PCI ID table 2017-11-07 17:26:36 +01:00
SConscript loader: Factor out the common driver opening logic from each loader. 2018-11-16 17:49:17 -08:00