History log of /external/mesa3d/src/loader/loader_dri3_helper.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5aa38832f0549fc45db88e344e234bb23482190d 17-Feb-2017 Brendan King <Brendan.King@imgtec.com> egl/dri3: implement query surface hook

This is a DRI3 version of a change made for DRI2
(4d6d4f939e0af4252e0b, "egl/dri2: implement query surface hook"),
that fixed failures in dEQP-EGL.functional.resize.surface_size.grow
and dEQP-EGL.functional.resize.surface_size.shrink.

Cc: Tapani Pälli <tapani.palli@intel.com>
Cc: Mark Janes <mark.a.janes@intel.com>
Cc: Chad Versace <chadversary@chromium.org>
Signed-off-by: Brendan King <Brendan.King@imgtec.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Cc: "17.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 884f65e1856733697a894c86f94803343cfa9a21)
/external/mesa3d/src/loader/loader_dri3_helper.c
1411fbd50dbd654755dd53cd087b86fffbd2c9ed 25-Nov-2015 Boyan Ding <boyan.j.ding@gmail.com> loader/dri3: Unify the style of function pointer calls in structs

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
/external/mesa3d/src/loader/loader_dri3_helper.c
9caacb39b9f27919a7c986ad0c5d671a81b1f1e0 25-Aug-2016 Emil Velikov <emil.veliikov@collabora.com> loader/dri3: constify the loader_dri3_vtable

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
/external/mesa3d/src/loader/loader_dri3_helper.c
a599b1c2037ac8aca6c92350c8a7b3e42c81deaa 06-Oct-2016 Martin Peres <martin.peres@linux.intel.com> loader/dri3: import prime buffers in the currently-bound screen

This tries to mirrors the codepath taken by DRI2 in IntelSetTexBuffer2()
and fixes many applications when using DRI3:
- Totem with libva on hw-accelerated decoding
- obs-studio, using Window Capture (Xcomposite) as a Source
- gstreamer with VAAPI

v2:
- introduce get_dri_screen() in the dri3 loader's vtable (krh)

Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
Tested-by: Ionut Biru <biru.ionut@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71759
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
/external/mesa3d/src/loader/loader_dri3_helper.c
dc3bb5db8c81e7f08ae12ea5d3ee999e2afcbfd1 06-Sep-2016 Michel Dänzer <michel.daenzer@amd.com> loader/dri3: Always use at least two back buffers

This can make a significant difference for performance with some extreme
test cases such as vblank_mode=0 glxgears.

Fixes: 1e3218bc5ba2 ("loader/dri3: Overhaul dri3_update_num_back")
Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97549
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
/external/mesa3d/src/loader/loader_dri3_helper.c
1e3218bc5ba2b739261f0c0bacf4eb662d377236 17-Aug-2016 Michel Dänzer <michel.daenzer@amd.com> loader/dri3: Overhaul dri3_update_num_back

Always use 3 buffers when flipping. With only 2 buffers, we have to wait
for a flip to complete (which takes non-0 time even with asynchronous
flips) before we can start working on the next frame. We were previously
only using 2 buffers for flipping if the X server supports asynchronous
flips, even when we're not using asynchronous flips. This could result
in bad performance (the referenced bug report is an extreme case, where
the inter-frame stalls were preventing the GPU from reaching its maximum
clocks).

I couldn't measure any performance boost using 4 buffers with flipping.
Performance actually seemed to go down slightly, but that might have
been just noise.

Without flipping, a single back buffer is enough for swap interval 0,
but we need to use 2 back buffers when the swap interval is non-0,
otherwise we have to wait for the swap interval to pass before we can
start working on the next frame. This condition was previously reversed.

Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97260
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/loader/loader_dri3_helper.c
5d191bafa26d2a88aa108823a2f3b9a321294fdc 28-Jul-2016 Michel Dänzer <michel.daenzer@amd.com> loader/dri3: Destroy Present event context when destroying drawable v2

Without this, the X server may accumulate stale Present event contexts
if a client ends up creating and destroying DRI drawables for the same
window.

v2: Based on Chris Wilson's review:
* Use xcb_present_select_input_checked so that protocol errors
generated by old X servers can be handled gracefully
* Use xcb_discard_reply() instead of free(xcb_request_check())
/external/mesa3d/src/loader/loader_dri3_helper.c
fd32868590c7cbc5c6c2b3d59ff66694de3864b8 30-Jul-2016 Jan Ziak <0xe2.0x9a.0x9b@gmail.com> loader: fix memory leak in loader_dri3_open

Found via "valgrind --leak-check=full glxgears".

Signed-off-by: Jan Ziak (http://atom-symbol.net) <0xe2.0x9a.0x9b@gmail.com>
Acked-by: Boyan Ding <boyan.j.ding@gmail.com>
Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/loader/loader_dri3_helper.c
d943ac432de1f46cea47bdbf5ffe5365e2aef386 21-Oct-2015 Axel Davy <axel.davy@ens.fr> dri: add backbuffer use flag

This will be used by the next commit.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/loader/loader_dri3_helper.c
bd6131a8d1e1cf0e6eb5494b50607a4ccb21e1f9 21-Jul-2015 Boyan Ding <boyan.j.ding@gmail.com> loader/dri3: Expose function to create __DRIimage from pixmap

Used to support EGL_KHR_image_pixmap.

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
/external/mesa3d/src/loader/loader_dri3_helper.c
6bd9ba7d07490059024d16ba32fafa1c5bb239ee 21-Jul-2015 Boyan Ding <boyan.j.ding@gmail.com> loader: Add dri3 helper

v2: From Martin Peres
- Try to fit in the 80-col limit as much as possible

v3: From Martin Peres
- introduce loader_dri3_helper.la to avoid dragging the xcb dep everywhere (Kristian & Emil)
- get rid of the width, height, dri_screen and is_different_gpu vfuncs (Kristian)
- replace the create/destroy functions with init/fini for dri3 drawables
- prefix static functions with dri3_ and exported ones with loader_dri3 (Emil)
- keep the function definition consistent (Emil)

Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
/external/mesa3d/src/loader/loader_dri3_helper.c