vulkan/wsi: Add X11 adaptive sync support based on dri options.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 16 Apr 2019 23:30:49 +0000 (01:30 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 23 Apr 2019 23:49:39 +0000 (23:49 +0000)
commitf2e0f5c3c44967da8a10ac363ab667e07ea03c28
tree7798bceec1b829068e63267d67f423288759f75e
parent3c2e8267d0b2300963d9a04aa4c46058ef448e49
vulkan/wsi: Add X11 adaptive sync support based on dri options.

The dri options are optional. When the dri options are not provided
the WSI will not  use adaptive sync.

FWIW I think for xf86-video-amdgpu this still requires an X11 config
option, so only people who opt in can get possible regressions from this.

So then the remaining question is: why do this in the WSI?

It has been suggested in another MR that the application sets this.
However, I disagree with that as I don't think we'll ever get a
reasonable set of applications setting it.

The next questions is whether this can be a layer. It definitely
can be as implemented now. However, I think this generally fits
well with the function of the WSI. Furthemore, for e.g. the DISPLAY
WSI this is much harder to do in a layer.

Of course, most of the WSI could almost be a layer, but I think
this still fits best in the WSI.

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
src/amd/vulkan/radv_wsi.c
src/freedreno/vulkan/tu_wsi.c
src/intel/vulkan/anv_wsi.c
src/vulkan/wsi/meson.build
src/vulkan/wsi/wsi_common.c
src/vulkan/wsi/wsi_common.h
src/vulkan/wsi/wsi_common_x11.c