egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage
authorEric Engestrom <eric@engestrom.ch>
Fri, 22 May 2020 23:45:42 +0000 (01:45 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 19 Aug 2020 12:47:58 +0000 (12:47 +0000)
commit326eb56718925828e886f40f72ea4a97b4657196
tree6c95dfe42473897e57ce39ad2972699e72342a3e
parenteae181e3eb9cabd98a78e8440c81cd08e8a26778
egl/x11_dri3: implement EGL_KHR_swap_buffers_with_damage

Passes all of `dEQP-EGL.functional.swap_buffers_with_damage.*`:

    Passed:        36/54 (66.7%)
    Failed:        0/54 (0.0%)
    Not supported: 18/54 (33.3%)
    Warnings:      0/54 (0.0%)
    Waived:        0/54 (0.0%)

The "not supported" ones are the `preserve_buffer_*` tests, which is not
supported on X11/DRI3.

Cc: 20.2 <mesa-stable>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3030
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6132>
docs/relnotes/new_features.txt
src/egl/drivers/dri2/platform_x11.c
src/egl/drivers/dri2/platform_x11_dri3.c
src/glx/dri3_glx.c
src/loader/loader_dri3_helper.c
src/loader/loader_dri3_helper.h
src/loader/meson.build