xa: add xa_surface_from_handle2 v2
authorRob Clark <robclark@freedesktop.org>
Thu, 3 Sep 2015 06:13:33 +0000 (23:13 -0700)
committerThomas Hellstrom <thellstrom@vmware.com>
Mon, 7 Sep 2015 08:25:08 +0000 (01:25 -0700)
commit1432a182414352e853bfdad997591598e621fd73
treea619a9cd193f98f23385bc15b4caedb56338ccf3
parent00c568f679413ee627421d5724beb85be3da55c1
xa: add xa_surface_from_handle2 v2

Like xa_surface_from_handle(), but takes a handle type, rather than
hard-coding 'shared' handle.  This is needed to fix bugs seen with
xf86-video-freedreno with xrandr rotation, for example.  The root issue
is that doing a GEM_OPEN ioctl on a bo that already has a GEM handle
associated with the drm_file will result in two unique handles for the
same bo.  Which causes all sorts of follow-on fail.

v2:
- Add support for for fd handles.
- Avoid duplicating code.
- Bump xa version minor.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
src/gallium/state_trackers/xa/xa_tracker.c
src/gallium/state_trackers/xa/xa_tracker.h
src/gallium/targets/xa/xa.sym