summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2013-02-14 19:07:43 +0000
committerAlexis Ballier <aballier@gentoo.org>2013-02-14 19:07:43 +0000
commitaf39287b5133bb49d4e43d666e66ae730c94dcaf (patch)
tree33d645859ddf99d49cdbcc18a257b63e7459003f /x11-libs/libva
parentVersion bump. (diff)
downloadhistorical-af39287b5133bb49d4e43d666e66ae730c94dcaf.tar.gz
historical-af39287b5133bb49d4e43d666e66ae730c94dcaf.tar.bz2
historical-af39287b5133bb49d4e43d666e66ae730c94dcaf.zip
Add upsteam patch porting to wayland-1 API, bug #455310 by Dennis Schridde
Package-Manager: portage-2.2.0_alpha163/cvs/Linux x86_64 Manifest-Sign-Key: 0x160F534A
Diffstat (limited to 'x11-libs/libva')
-rw-r--r--x11-libs/libva/ChangeLog8
-rw-r--r--x11-libs/libva/Manifest15
-rw-r--r--x11-libs/libva/files/libva-1.1.0-wayland1.patch359
-rw-r--r--x11-libs/libva/libva-1.1.0.ebuild7
4 files changed, 375 insertions, 14 deletions
diff --git a/x11-libs/libva/ChangeLog b/x11-libs/libva/ChangeLog
index d28e56ca98bd..529d68faebff 100644
--- a/x11-libs/libva/ChangeLog
+++ b/x11-libs/libva/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for x11-libs/libva
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libva/ChangeLog,v 1.46 2012/12/02 22:16:11 ssuominen Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libva/ChangeLog,v 1.47 2013/02/14 19:07:35 aballier Exp $
+
+ 14 Feb 2013; Alexis Ballier <aballier@gentoo.org> libva-1.1.0.ebuild,
+ +files/libva-1.1.0-wayland1.patch:
+ Add upsteam patch porting to wayland-1 API, bug #455310 by Dennis Schridde
02 Dec 2012; Samuli Suominen <ssuominen@gentoo.org> libva-1.0.15.ebuild,
libva-1.0.16.ebuild:
diff --git a/x11-libs/libva/Manifest b/x11-libs/libva/Manifest
index a7e876e4407f..e26c5355bacc 100644
--- a/x11-libs/libva/Manifest
+++ b/x11-libs/libva/Manifest
@@ -1,23 +1,20 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX libva-1.1.0-wayland1.patch 11570 SHA256 07847d82f6b7f1be27c82f2ecb8c593f4179c90f31bcda9b3716c4c3d7cc5974 SHA512 0bf244fb22b4946c065376209f2ed24fb68c6c43bb133af1e10c8e5b7991374ec5de639a927d33053ae13720545b7e1505a7504267982308ad32e1707d7ff216 WHIRLPOOL 9efe511bfc46243f52351696a8e31138a80102d30133818d762456f60ae166baff02c53e93ad94cb8ad70bb45fdd3b2daa8f20acf3debc1232e8e35da22e6a7b
DIST libva-1.0.15.tar.bz2 488805 SHA256 7cc24ae9c947aa13904255244810d3637b03d41e2b6f4b643db3b97412cacd37 SHA512 e82d7c7126ff008500c3df47c93d0e5f8205f3cdaf92dc7be8fa6519a761f58961f908931aea9d4bea2ee4373e1ee02c146d4433fa00f50e6b83384f30fadc6e WHIRLPOOL 61c6ede021fc133e721caea73b0f4b95cba64b9ecddaca471a731207aaf44510e1c61553058b1a5cb5e8b5e4f56c49ace35c1bc7a55f5c715e0d939e39d9d189
DIST libva-1.0.16.tar.bz2 496776 SHA256 a9a39a2b92eeab73c517de7e6b841c2840b040ea685f850866fe58242cc2f161 SHA512 5c7db891d418764db9cce34175c10a84abdb649aa14cdc10df4a294ef86af707937e13a783748b547294f72d9b11aa075d871198165243bb9870f7e7b92a0019 WHIRLPOOL b388beeef6f738110e6b947a9b59e6c246217372644c9c4488aef78d2d87cfdab52a3c4e6a6c016acf46fbb9ae17aff515e247ebee57ec2a0dbee150e6d0f55a
DIST libva-1.1.0.tar.bz2 728879 SHA256 db6adc24a6f02f234a823dd8ced4a7e38084581f4ae02b6aac10716e523cefa8 SHA512 3ae73e789a26b6d2eee0a38a5e1dc7f06430dbca5ca73785295ca5a1bcc0bdc0ca2423e481e1304203471b55369faf62b2a234daa6370edc7ca8013affb6eaee WHIRLPOOL 27e6d4648aa2eddf2846f57a1300f97820dd013675bd173a019b9a8b1ccf343109a13df822f8581012020451a35cb485974f97be55bf8d2f131a8988e6807c1d
EBUILD libva-1.0.15.ebuild 1653 SHA256 ec48b13914bcccfcece05ae3fc9bc217fc6eeaa0798948e5e292190fd9f9ac00 SHA512 c89d1e282383764572b30abdc48d0196394606682f982928936993557bc54fe9911354197db63c3a7cccac475878b0aae763a062ca51636043cae5cc359228d0 WHIRLPOOL 4ef49f5b6d965fc7f6934d4d1e0b24711f90d20098a92a706bdeaf8a0658f2a71c933c65931235bf1f790aaf81a71246e2921ee3c54739a7c6144d822dec4c6c
EBUILD libva-1.0.16.ebuild 1664 SHA256 31b149acc9c65ed45c3ea7e8f4eaf0840b1272f8494e1cf4654d37bab77813dc SHA512 50c3a373c64050d23e9822c58ce6a86b0ae44a91cde871bfe0a456eff2b5c1e963a837fb9f8e7b06b99c00ef1488cebccc133356c772fce518ca6f18070cb5cc WHIRLPOOL d9833619016dd1b679f09ec449d00c32279cab7b5de25010d4fb898960ea6539219ed87fb8cfe344cbed49ceb6c589e0e7b6fcdfea237dafa93710c0e91ca596
-EBUILD libva-1.1.0.ebuild 1799 SHA256 443c7daf9c31d6202fbb4f73fdce90661212d04223c4bb218677c84e2a774899 SHA512 d6a3bd8b44921859e3770c5fddd7fb1d5025e85ce5b371a6b8f9bc32b901c8b0b5f75d98d819bc25354a57a25001b570d9590834acf4f651a412df2767ade2e0 WHIRLPOOL 78f68ec741c8e329cecaae3abcf8930ba6aa0320b1a73ea79b48b815bba2691e449dfc9a0dbaba23ff2cf6d352678a9d2053159874d798db253b82db139671f7
+EBUILD libva-1.1.0.ebuild 1886 SHA256 f3adad856b250a8061ea1e7e0718c03c24dc4a7dfbf87506121cfac1b736afbc SHA512 4e9d94ca6a3a46c91b7b3f4cde7f1709fd5a820e3913c4441ec0d7341dc730ff219cf1fc3fd48e18577b396018c0c990c724f54e8b25a0f881c5825fa8f3130b WHIRLPOOL 5c841b403362aed5d34b30cd03f02872fbc1fb7ff9cd73b8fb34ec0df2f302e14c8dfb499fa8be600e9689d26efbbc719c7c1ab10ffdb25d336b15827365b202
EBUILD libva-9999.ebuild 1799 SHA256 775eef2b2588dc0a3286f61df58ab9009387813a5abca06002eec9b2e13eac3f SHA512 4daca2ee580d9bb20091c0f57608cca5c0420312dd4d236f8e730a2921677f863d0fb42d492186e1fea6ffbcb6864b9265fdb6d76674569ff36cd67c3ffd06b2 WHIRLPOOL 3fadd0d2c5000dbbb7e62f8793da428d5d7641263f2abfb9880e1225df238ac5e3e7b140091db263786fa5a59fc48a306503a88363c42a8d69da4d6f646d1fbf
-MISC ChangeLog 6707 SHA256 4d7c0160cd2565f42c0162bc61a382747e615b9e9702bb3c07a013fe977e1e3f SHA512 d144f961295885bf606fa1ab5e9b2c3861ae5028dedf33d6822638314d231fac4a0b7655f576e1f0a54ff953f2fc358a7024cc8316c0f92628450b0525ba1e59 WHIRLPOOL 1ddbef802359e6e1a1ee2ce4cee095fc9e5bc09cd6e9c1a77a9af87b14fb06c5e430c73b7877cccd1c9af2dafdc8dc73a5ee46424f57429d017e800acd59fde9
+MISC ChangeLog 6893 SHA256 b5fff60b4d1f8dceef17c15b654c7f5f5b73568fd9827023de85f9b75e35225a SHA512 6a567ba659da8ea33f7b4504f4a8bd318de54b42a1f8aaa1c0e5661a49364ac829bbc0c1ec4e56fd9ffb200c19d799b02b8c7900f9cbb23be9311719a3d010f0 WHIRLPOOL 026ff47678ecefe83615ba5e463609a1ccdb12f6493567d4e5b224c3fb38d38dc6c3275a5b013f88f58368f4cefad3d93ab6e7420ca54ef47d94c81fe7a5cdfe
MISC metadata.xml 306 SHA256 52794c187e6125fb7cda3794b561e1fcaf5f328f2bf5683448b13eba838ad14c SHA512 f88e1bb60c7c1b28098e9ce1d458fea941ee98975a1852e727c4ebf91abfd99bf053860193f286b92aee923c3c7b3d7d3d0ae093678cfda1b797e115635ce801 WHIRLPOOL 41ddaefe8d3b7b4809e85316fd9d3df55fe7ecc3e6403c317e280858e85e9a15c4940f907aa827670d18de33f865401416c66bcac4bb73f581b6e04fecb11ac1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBCAAGBQJQu9MsAAoJEEdUh39IaPFNHLMH/33Y+0VtoVAmH9yg5RlufOHg
-+GYB7wBFRpUSFqi7ffOc6JhUGD+L0vwxrhUF81xQIewn0ahbaXdvf41UrnI1e0ws
-xZXRfbgUb6DR6p+XEo5zJgNw9TL5jZkd5DkSxYvAcW5jFlcVi+CZOamPRdaSaIvN
-h6HEzPjDCijhBqPHYX0Jf2QZEMRH1l8tma3l3ZRja4hpGmvZ2I5uswTXVkbqS0Jr
-3vDJMoqw3ZB29u+7J0AKk0Oo6weK8PljS3rERyjuhsmDcUt/D9s9fohoFKb3XV2Y
-w84TMVoy7SsR/JJSfKjHGEjGOhIj0MJMIRaTCEWU0DfknUWoDoOwapl3EHmWkT8=
-=Otd3
+iEYEAREIAAYFAlEdNfkACgkQvFcC4BYPU0rmEgCfVFjvh7oa87O1i1bnAxkx158z
+g00AoI65nZ59z83d49PM36Z92DwzgOyW
+=MWjL
-----END PGP SIGNATURE-----
diff --git a/x11-libs/libva/files/libva-1.1.0-wayland1.patch b/x11-libs/libva/files/libva-1.1.0-wayland1.patch
new file mode 100644
index 000000000000..653bcb9caef0
--- /dev/null
+++ b/x11-libs/libva/files/libva-1.1.0-wayland1.patch
@@ -0,0 +1,359 @@
+commit b1cf861a087234eb797c402040403a538adbe0cc
+Author: Rob Bradford <rob@linux.intel.com>
+Date: Fri Nov 2 10:57:47 2012 +0000
+
+ wayland: port to 1.0 protocol.
+
+ With the change in protocol the hash of globals maintained by the client was
+ dropped. Instead we must setup a listener on the registry and get the globals
+ in a stream from that.
+
+ Signed-off-by: Rob Bradford <rob@linux.intel.com>
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+diff --git a/configure.ac b/configure.ac
+index de83e35..257964d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,7 +78,7 @@ m4_define([libva_lt_age],
+ m4_define([libdrm_version], [2.4])
+
+ # Wayland minimum version number
+-m4_define([wayland_api_version], [0.95.0])
++m4_define([wayland_api_version], [1.0.0])
+
+ AC_PREREQ(2.57)
+ AC_INIT([libva], [libva_version], [waldo.bastian@intel.com], libva)
+diff --git a/test/common/va_display_wayland.c b/test/common/va_display_wayland.c
+index 332d16d..abcb2b6 100644
+--- a/test/common/va_display_wayland.c
++++ b/test/common/va_display_wayland.c
+@@ -33,42 +33,39 @@
+
+ struct display {
+ struct wl_display *display;
++ struct wl_registry *registry;
+ struct wl_compositor *compositor;
+ struct wl_shell *shell;
+ struct wl_shell_surface *shell_surface;
+ struct wl_surface *surface;
+ unsigned int ref_count;
+ int event_fd;
+- unsigned int event_mask;
+ };
+
+ static struct display *g_display;
+
+ static void
+-display_handle_global(
+- struct wl_display *display,
+- uint32_t id,
+- const char *interface,
+- uint32_t version,
+- void *data
++registry_handle_global(
++ void *data,
++ struct wl_registry *registry,
++ uint32_t id,
++ const char *interface,
++ uint32_t version
+ )
+ {
+ struct display * const d = data;
+
+ if (strcmp(interface, "wl_compositor") == 0)
+- d->compositor = wl_display_bind(display, id, &wl_compositor_interface);
++ d->compositor =
++ wl_registry_bind(registry, id, &wl_compositor_interface, 1);
+ else if (strcmp(interface, "wl_shell") == 0)
+- d->shell = wl_display_bind(display, id, &wl_shell_interface);
++ d->shell = wl_registry_bind(registry, id, &wl_shell_interface, 1);
+ }
+
+-static int
+-event_mask_update(uint32_t mask, void *data)
+-{
+- struct display * const d = data;
+-
+- d->event_mask = mask;
+- return 0;
+-}
++static const struct wl_registry_listener registry_listener = {
++ registry_handle_global,
++ NULL,
++};
+
+ static VADisplay
+ va_open_display_wayland(void)
+@@ -91,9 +88,10 @@ va_open_display_wayland(void)
+ return NULL;
+ }
+ wl_display_set_user_data(d->display, d);
+- wl_display_add_global_listener(d->display, display_handle_global, d);
+- d->event_fd = wl_display_get_fd(d->display, event_mask_update, d);
+- wl_display_iterate(d->display, d->event_mask);
++ d->registry = wl_display_get_registry(d->display);
++ wl_registry_add_listener(d->registry, &registry_listener, d);
++ d->event_fd = wl_display_get_fd(d->display);
++ wl_display_dispatch(d->display);
+
+ d->ref_count = 1;
+ g_display = d;
+@@ -182,6 +180,7 @@ va_put_surface_wayland(
+ dst_rect->x, dst_rect->y, dst_rect->width, dst_rect->height
+ );
+
++ wl_surface_commit(d->surface);
+ wl_display_flush(d->display);
+ return VA_STATUS_SUCCESS;
+ }
+diff --git a/test/putsurface/putsurface_wayland.c b/test/putsurface/putsurface_wayland.c
+index 3e1d495..b93334d 100644
+--- a/test/putsurface/putsurface_wayland.c
++++ b/test/putsurface/putsurface_wayland.c
+@@ -102,7 +102,7 @@ struct display {
+ struct wl_display *display;
+ struct wl_compositor *compositor;
+ struct wl_shell *shell;
+- uint32_t mask;
++ struct wl_registry *registry;
+ int event_fd;
+ };
+
+@@ -153,7 +153,7 @@ va_put_surface(
+ if (wl_drawable->redraw_pending) {
+ wl_display_flush(d->display);
+ while (wl_drawable->redraw_pending)
+- wl_display_iterate(wl_drawable->display, WL_DISPLAY_READABLE);
++ wl_display_dispatch(wl_drawable->display);
+ }
+
+ va_status = vaGetSurfaceBufferWl(va_dpy, va_surface, VA_FRAME_PICTURE, &buffer);
+@@ -169,35 +169,33 @@ va_put_surface(
+ wl_display_flush(d->display);
+ wl_drawable->redraw_pending = 1;
+ callback = wl_surface_frame(wl_drawable->surface);
++ wl_surface_commit(wl_drawable->surface);
+ wl_callback_add_listener(callback, &frame_callback_listener, wl_drawable);
+ return VA_STATUS_SUCCESS;
+ }
+
+ static void
+-display_handle_global(
+- struct wl_display *display,
+- uint32_t id,
+- const char *interface,
+- uint32_t version,
+- void *data
++registry_handle_global(
++ void *data,
++ struct wl_registry *registry,
++ uint32_t id,
++ const char *interface,
++ uint32_t version
+ )
+ {
+ struct display * const d = data;
+
+ if (strcmp(interface, "wl_compositor") == 0)
+- d->compositor = wl_display_bind(display, id, &wl_compositor_interface);
++ d->compositor =
++ wl_registry_bind(registry, id, &wl_compositor_interface, 1);
+ else if (strcmp(interface, "wl_shell") == 0)
+- d->shell = wl_display_bind(display, id, &wl_shell_interface);
++ d->shell = wl_registry_bind(registry, id, &wl_shell_interface, 1);
+ }
+
+-static int
+-event_mask_update(uint32_t mask, void *data)
+-{
+- struct display * const d = data;
+-
+- d->mask = mask;
+- return 0;
+-}
++static const struct wl_registry_listener registry_listener = {
++ registry_handle_global,
++ NULL,
++};
+
+ static void *
+ open_display(void)
+@@ -213,9 +211,10 @@ open_display(void)
+ return NULL;
+
+ wl_display_set_user_data(d->display, d);
+- wl_display_add_global_listener(d->display, display_handle_global, d);
+- d->event_fd = wl_display_get_fd(d->display, event_mask_update, d);
+- wl_display_iterate(d->display, d->mask);
++ d->registry = wl_display_get_registry(d->display);
++ wl_registry_add_listener(d->registry, &registry_listener, d);
++ d->event_fd = wl_display_get_fd(d->display);
++ wl_display_dispatch(d->display);
+ return d->display;
+ }
+
+@@ -298,9 +297,6 @@ check_window_event(
+ if (check_event == 0)
+ return 0;
+
+- if (!(d->mask & WL_DISPLAY_READABLE))
+- return 0;
+-
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+ do {
+@@ -313,7 +309,7 @@ check_window_event(
+ break;
+ }
+ if (retval == 1)
+- wl_display_iterate(d->display, WL_DISPLAY_READABLE);
++ wl_display_dispatch(d->display);
+ } while (retval > 0);
+
+ #if 0
+diff --git a/va/wayland/va_wayland_drm.c b/va/wayland/va_wayland_drm.c
+index 30c3953..d292316 100644
+--- a/va/wayland/va_wayland_drm.c
++++ b/va/wayland/va_wayland_drm.c
+@@ -44,6 +44,7 @@ typedef struct va_wayland_drm_context {
+ struct va_wayland_context base;
+ void *handle;
+ struct wl_drm *drm;
++ struct wl_registry *registry;
+ void *drm_interface;
+ unsigned int is_authenticated : 1;
+ } VADisplayContextWaylandDRM;
+@@ -142,6 +143,28 @@ va_wayland_drm_destroy(VADisplayContextP pDisplayContext)
+ }
+ }
+
++static void
++registry_handle_global(
++ void *data,
++ struct wl_registry *registry,
++ uint32_t id,
++ const char *interface,
++ uint32_t version
++)
++{
++ struct va_wayland_drm_context *wl_drm_ctx = data;
++
++ if (strcmp(interface, "wl_drm") == 0) {
++ wl_drm_ctx->drm =
++ wl_registry_bind(wl_drm_ctx->registry, id, wl_drm_ctx->drm_interface, 1);
++ }
++}
++
++static const struct wl_registry_listener registry_listener = {
++ registry_handle_global,
++ NULL,
++};
++
+ bool
+ va_wayland_drm_create(VADisplayContextP pDisplayContext)
+ {
+@@ -168,14 +191,6 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
+ drm_state->auth_type = 0;
+ ctx->drm_state = drm_state;
+
+- id = wl_display_get_global(ctx->native_dpy, "wl_drm", 1);
+- if (!id) {
+- wl_display_roundtrip(ctx->native_dpy);
+- id = wl_display_get_global(ctx->native_dpy, "wl_drm", 1);
+- if (!id)
+- return false;
+- }
+-
+ wl_drm_ctx->handle = dlopen(LIBWAYLAND_DRM_NAME, RTLD_LAZY|RTLD_LOCAL);
+ if (!wl_drm_ctx->handle)
+ return false;
+@@ -185,8 +200,14 @@ va_wayland_drm_create(VADisplayContextP pDisplayContext)
+ if (!wl_drm_ctx->drm_interface)
+ return false;
+
+- wl_drm_ctx->drm =
+- wl_display_bind(ctx->native_dpy, id, wl_drm_ctx->drm_interface);
++ wl_drm_ctx->registry = wl_display_get_registry(ctx->native_dpy);
++ wl_registry_add_listener(wl_drm_ctx->registry, &registry_listener, wl_drm_ctx);
++ wl_display_roundtrip(ctx->native_dpy);
++
++ /* registry_handle_global should have been called by the
++ * wl_display_roundtrip above
++ */
++
+ if (!wl_drm_ctx->drm)
+ return false;
+
+diff --git a/va/wayland/va_wayland_emgd.c b/va/wayland/va_wayland_emgd.c
+index 73e6802..cb885d1 100644
+--- a/va/wayland/va_wayland_emgd.c
++++ b/va/wayland/va_wayland_emgd.c
+@@ -40,6 +40,7 @@ typedef struct va_wayland_emgd_context {
+ struct wl_emgd *emgd;
+ void *emgd_interface;
+ unsigned int is_created : 1;
++ struct wl_registry *registry;
+ } VADisplayContextWaylandEMGD;
+
+ static inline void
+@@ -86,6 +87,28 @@ va_wayland_emgd_destroy(VADisplayContextP pDisplayContext)
+ }
+ }
+
++static void
++registry_handle_global(
++ void *data,
++ struct wl_registry *registry,
++ uint32_t id,
++ const char *interface,
++ uint32_t version
++)
++{
++ VADisplayContextWaylandEMGD *wl_emgd_ctx = data;
++
++ if (strcmp(interface, "wl_emgd") == 0) {
++ wl_emgd_ctx->emgd =
++ wl_registry_bind(registry, id, wl_emgd_ctx->emgd_interface, 1);
++ }
++}
++
++static const struct wl_registry_listener registry_listener = {
++ registry_handle_global,
++ NULL,
++};
++
+ bool
+ va_wayland_emgd_create(VADisplayContextP pDisplayContext)
+ {
+@@ -112,14 +135,6 @@ va_wayland_emgd_create(VADisplayContextP pDisplayContext)
+ drm_state->auth_type = 0;
+ ctx->drm_state = drm_state;
+
+- id = wl_display_get_global(ctx->native_dpy, "wl_emgd", 1);
+- if (!id) {
+- wl_display_roundtrip(ctx->native_dpy);
+- id = wl_display_get_global(ctx->native_dpy, "wl_emgd", 1);
+- if (!id)
+- return false;
+- }
+-
+ wl_emgd_ctx->handle = dlopen(LIBWAYLAND_EMGD_NAME, RTLD_LAZY|RTLD_LOCAL);
+ if (!wl_emgd_ctx->handle)
+ return false;
+@@ -129,8 +144,13 @@ va_wayland_emgd_create(VADisplayContextP pDisplayContext)
+ if (!wl_emgd_ctx->emgd_interface)
+ return false;
+
+- wl_emgd_ctx->emgd =
+- wl_display_bind(ctx->native_dpy, id, wl_emgd_ctx->emgd_interface);
++ wl_emgd_ctx->registry = wl_display_get_registry(ctx->native_dpy);
++ wl_registry_add_listener(wl_emgd_ctx->registry, &registry_listener, wl_emgd_ctx);
++ wl_display_roundtrip(ctx->native_dpy);
++
++ /* registry_handle_global should have been called by the
++ * wl_display_roundtrip above
++ */
+ if (!wl_emgd_ctx->emgd)
+ return false;
+ return true;
diff --git a/x11-libs/libva/libva-1.1.0.ebuild b/x11-libs/libva/libva-1.1.0.ebuild
index a207d6a1ab8d..604ebcc857a7 100644
--- a/x11-libs/libva/libva-1.1.0.ebuild
+++ b/x11-libs/libva/libva-1.1.0.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libva/libva-1.1.0.ebuild,v 1.6 2012/11/21 18:13:30 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libva/libva-1.1.0.ebuild,v 1.7 2013/02/14 19:07:35 aballier Exp $
EAPI=4
@@ -11,7 +11,7 @@ if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild
EGIT_REPO_URI="git://anongit.freedesktop.org/vaapi/libva"
fi
-inherit autotools ${SCM} multilib
+inherit autotools ${SCM} multilib eutils
DESCRIPTION="Video Acceleration (VA) API for Linux"
HOMEPAGE="http://www.freedesktop.org/wiki/Software/vaapi"
@@ -56,6 +56,7 @@ PDEPEND="video_cards_nvidia? ( x11-libs/libva-vdpau-driver )
REQUIRED_USE="opengl? ( X )"
src_prepare() {
+ has_version '>=dev-libs/wayland-1' && epatch "${FILESDIR}/${P}-wayland1.patch"
eautoreconf
}