]> git.pld-linux.org Git - packages/Mesa.git/commitdiff
- up to 10.0.0 (TODO: obsoletes - where? better drirc location?)
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 1 Dec 2013 18:06:19 +0000 (19:06 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 1 Dec 2013 18:06:19 +0000 (19:06 +0100)
0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch [deleted file]
0002-gallium-egl-Don-t-add-a-listener-for-wl_drm-twice-in.patch [deleted file]
0003-egl-Update-to-Wayland-1.2-server-API.patch [deleted file]
0004-gallium-egl-Commit-the-rest-of-the-native_wayland_dr.patch [deleted file]
Mesa-link.patch
Mesa.spec

diff --git a/0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch b/0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch
deleted file mode 100644 (file)
index bd28311..0000000
+++ /dev/null
@@ -1,818 +0,0 @@
-From 6a973189d22ae1fef08e90ab6a8f6ee18ad4f33e Mon Sep 17 00:00:00 2001
-From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
-Date: Thu, 18 Jul 2013 15:11:23 +0300
-Subject: [PATCH 1/4] gallium-egl: Simplify native_wayland_drm_bufmgr_helper
- interface
-
-The helper provides a series of functions to easy the implementation
-of the WL_bind_wayland_display extension on different platforms. But
-even with the helpers there was still a bit of duplicated code between
-platforms, with the drm authentication being the only part that
-differs.
-
-This patch changes the bufmgr interface to provide a self contained
-object with a create function that takes a drm authentication callback
-as an argument. That way all the helper functions are made static and
-the "_helper" suffix was removed from the sources file name.
-
-This change also removes the mix of Wayland client and server code in
-the wayland drm platform source file. All the uses of libwayland-server
-are now contained in native_wayland_drm_bufmgr.c.
-
-Changes to the drm platform are only compile tested.
-
-Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
----
- src/gallium/state_trackers/egl/Makefile.am         |   2 +-
- src/gallium/state_trackers/egl/common/native.h     |   2 +-
- .../egl/common/native_wayland_drm_bufmgr.c         | 214 +++++++++++++++++++++
- ...bufmgr_helper.h => native_wayland_drm_bufmgr.h} |  26 +--
- .../egl/common/native_wayland_drm_bufmgr_helper.c  | 106 ----------
- src/gallium/state_trackers/egl/drm/native_drm.c    |  52 +----
- src/gallium/state_trackers/egl/drm/native_drm.h    |   2 +-
- .../state_trackers/egl/wayland/native_drm.c        |  93 +++------
- src/gallium/state_trackers/egl/x11/native_dri2.c   |  87 +++------
- 9 files changed, 276 insertions(+), 308 deletions(-)
- create mode 100644 src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c
- rename src/gallium/state_trackers/egl/common/{native_wayland_drm_bufmgr_helper.h => native_wayland_drm_bufmgr.h} (59%)
- delete mode 100644 src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c
-
-diff --git a/src/gallium/state_trackers/egl/Makefile.am b/src/gallium/state_trackers/egl/Makefile.am
-index f78b36e..126fafc 100644
---- a/src/gallium/state_trackers/egl/Makefile.am
-+++ b/src/gallium/state_trackers/egl/Makefile.am
-@@ -38,7 +38,7 @@ libegl_la_SOURCES = \
-       common/egl_g3d_st.c \
-       common/egl_g3d_sync.c \
-       common/native_helper.c \
--      common/native_wayland_drm_bufmgr_helper.c
-+      common/native_wayland_drm_bufmgr.c
- if HAVE_EGL_PLATFORM_X11
- libegl_la_SOURCES += \
-diff --git a/src/gallium/state_trackers/egl/common/native.h b/src/gallium/state_trackers/egl/common/native.h
-index 431bd3f..797933d 100644
---- a/src/gallium/state_trackers/egl/common/native.h
-+++ b/src/gallium/state_trackers/egl/common/native.h
-@@ -245,7 +245,7 @@ struct native_display {
-    const struct native_display_buffer *buffer;
-    const struct native_display_modeset *modeset;
--   const struct native_display_wayland_bufmgr *wayland_bufmgr;
-+   struct native_display_wayland_bufmgr *wayland_bufmgr;
- #ifdef HAVE_WAYLAND_BACKEND
-    struct wl_drm *wl_server_drm; /* for EGL_WL_bind_wayland_display */
-diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c
-new file mode 100644
-index 0000000..1603a3a
---- /dev/null
-+++ b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c
-@@ -0,0 +1,214 @@
-+#include <stdint.h>
-+#include <string.h>
-+
-+#include "native.h"
-+#include "util/u_inlines.h"
-+#include "state_tracker/drm_driver.h"
-+
-+#ifdef HAVE_WAYLAND_BACKEND
-+
-+#include <wayland-server.h>
-+#include <wayland-drm-server-protocol.h>
-+
-+#include "native_wayland_drm_bufmgr.h"
-+
-+#include "wayland-drm.h"
-+
-+struct wayland_drm_bufmgr {
-+   struct native_display_wayland_bufmgr base;
-+
-+   struct wl_drm *wl_server_drm;
-+   char *device_name;
-+
-+   void *user_data;
-+
-+   wayland_drm_bufmgr_authenticate_func authenticate;
-+};
-+
-+static INLINE struct wayland_drm_bufmgr *
-+wayland_drm_bufmgr(const struct native_display_wayland_bufmgr *base)
-+{
-+   return (struct wayland_drm_bufmgr *) base;
-+}
-+
-+static int
-+wayland_drm_bufmgr_authenticate(void *user_data, uint32_t magic)
-+{
-+   struct native_display *ndpy = user_data;
-+   struct wayland_drm_bufmgr *bufmgr;
-+
-+   bufmgr = wayland_drm_bufmgr(ndpy->wayland_bufmgr);
-+
-+   return bufmgr->authenticate(user_data, magic);
-+}
-+
-+static void
-+wayland_drm_bufmgr_reference_buffer(void *user_data, uint32_t name, int fd,
-+                                    struct wl_drm_buffer *buffer)
-+{
-+   struct native_display *ndpy = user_data;
-+   struct pipe_resource templ;
-+   struct winsys_handle wsh;
-+   enum pipe_format pf;
-+
-+   switch (buffer->format) {
-+   case WL_DRM_FORMAT_ARGB8888:
-+      pf = PIPE_FORMAT_B8G8R8A8_UNORM;
-+      break;
-+   case WL_DRM_FORMAT_XRGB8888:
-+      pf = PIPE_FORMAT_B8G8R8X8_UNORM;
-+      break;
-+   default:
-+      pf = PIPE_FORMAT_NONE;
-+      break;
-+   }
-+
-+   if (pf == PIPE_FORMAT_NONE)
-+      return;
-+
-+   memset(&templ, 0, sizeof(templ));
-+   templ.target = PIPE_TEXTURE_2D;
-+   templ.format = pf;
-+   templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW;
-+   templ.width0 = buffer->buffer.width;
-+   templ.height0 = buffer->buffer.height;
-+   templ.depth0 = 1;
-+   templ.array_size = 1;
-+
-+   memset(&wsh, 0, sizeof(wsh));
-+   wsh.handle = name;
-+   wsh.stride = buffer->stride[0];
-+
-+   buffer->driver_buffer =
-+      ndpy->screen->resource_from_handle(ndpy->screen, &templ, &wsh);
-+}
-+
-+static void
-+wayland_drm_bufmgr_unreference_buffer(void *user_data,
-+                                      struct wl_drm_buffer *buffer)
-+{
-+   struct pipe_resource *resource = buffer->driver_buffer;
-+
-+   pipe_resource_reference(&resource, NULL);
-+}
-+
-+static struct wayland_drm_callbacks wl_drm_callbacks = {
-+   wayland_drm_bufmgr_authenticate,
-+   wayland_drm_bufmgr_reference_buffer,
-+   wayland_drm_bufmgr_unreference_buffer
-+};
-+
-+static boolean
-+wayland_drm_bufmgr_bind_display(struct native_display *ndpy,
-+                                struct wl_display *wl_dpy)
-+{
-+   struct wayland_drm_bufmgr *bufmgr;
-+
-+   bufmgr = wayland_drm_bufmgr(ndpy->wayland_bufmgr);
-+
-+   if (bufmgr->wl_server_drm)
-+      return FALSE;
-+
-+   bufmgr->wl_server_drm = wayland_drm_init(wl_dpy, bufmgr->device_name,
-+         &wl_drm_callbacks, ndpy, 0);
-+
-+   if (!bufmgr->wl_server_drm)
-+      return FALSE;
-+
-+   return TRUE;
-+}
-+
-+static boolean
-+wayland_drm_bufmgr_unbind_display(struct native_display *ndpy,
-+                                  struct wl_display *wl_dpy)
-+{
-+   struct wayland_drm_bufmgr *bufmgr;
-+
-+   bufmgr = wayland_drm_bufmgr(ndpy->wayland_bufmgr);
-+
-+   if (!bufmgr->wl_server_drm)
-+      return FALSE;
-+
-+   wayland_drm_uninit(bufmgr->wl_server_drm);
-+   bufmgr->wl_server_drm = NULL;
-+
-+   return TRUE;
-+}
-+
-+static struct pipe_resource *
-+wayland_drm_bufmgr_wl_buffer_get_resource(struct native_display *ndpy,
-+                                          struct wl_buffer *buffer)
-+{
-+   return wayland_drm_buffer_get_buffer(buffer);
-+}
-+
-+static EGLBoolean
-+wayland_drm_bufmgr_query_buffer(struct native_display *ndpy,
-+                                struct wl_buffer *_buffer,
-+                                EGLint attribute, EGLint *value)
-+{
-+   struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
-+   struct pipe_resource *resource = buffer->driver_buffer;
-+
-+   if (!wayland_buffer_is_drm(wayland_drm_bufmgr(ndpy->wayland_bufmgr)->wl_server_drm, &buffer->buffer))
-+      return EGL_FALSE;
-+
-+   switch (attribute) {
-+   case EGL_TEXTURE_FORMAT:
-+      switch (resource->format) {
-+      case PIPE_FORMAT_B8G8R8A8_UNORM:
-+         *value = EGL_TEXTURE_RGBA;
-+         return EGL_TRUE;
-+      case PIPE_FORMAT_B8G8R8X8_UNORM:
-+         *value = EGL_TEXTURE_RGB;
-+         return EGL_TRUE;
-+      default:
-+         return EGL_FALSE;
-+      }
-+   case EGL_WIDTH:
-+      *value = buffer->buffer.width;
-+      return EGL_TRUE;
-+   case EGL_HEIGHT:
-+      *value = buffer->buffer.height;
-+      return EGL_TRUE;
-+   default:
-+      return EGL_FALSE;
-+   }
-+}
-+
-+
-+struct native_display_wayland_bufmgr *
-+wayland_drm_bufmgr_create(wayland_drm_bufmgr_authenticate_func authenticate,
-+                          void *user_data, char *device_name)
-+{
-+   struct wayland_drm_bufmgr *bufmgr;
-+
-+   bufmgr = calloc(1, sizeof *bufmgr);
-+   if (!bufmgr)
-+      return NULL;
-+
-+   bufmgr->user_data = user_data;
-+   bufmgr->authenticate = authenticate;
-+   bufmgr->device_name = strdup(device_name);
-+
-+   bufmgr->base.bind_display = wayland_drm_bufmgr_bind_display;
-+   bufmgr->base.unbind_display = wayland_drm_bufmgr_unbind_display;
-+   bufmgr->base.buffer_get_resource = wayland_drm_bufmgr_wl_buffer_get_resource;
-+   bufmgr->base.query_buffer = wayland_drm_bufmgr_query_buffer;
-+
-+   return &bufmgr->base;
-+}
-+
-+void
-+wayland_drm_bufmgr_destroy(struct native_display_wayland_bufmgr *_bufmgr)
-+{
-+   struct wayland_drm_bufmgr *bufmgr = wayland_drm_bufmgr(_bufmgr);
-+
-+   if (!bufmgr)
-+      return;
-+
-+   free(bufmgr->device_name);
-+   free(bufmgr);
-+}
-+
-+#endif
-diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.h
-similarity index 59%
-rename from src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h
-rename to src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.h
-index 543dc6f..7bf6513 100644
---- a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.h
-+++ b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.h
-@@ -22,26 +22,16 @@
-  * DEALINGS IN THE SOFTWARE.
-  */
--#ifndef _NATIVE_WAYLAND_DRM_BUFMGR_HELPER_H_
--#define _NATIVE_WAYLAND_DRM_BUFMGR_HELPER_H_
-+#ifndef _NATIVE_WAYLAND_DRM_BUFMGR_H_
-+#define _NATIVE_WAYLAND_DRM_BUFMGR_H_
--#include "wayland-drm.h"
-+typedef int (*wayland_drm_bufmgr_authenticate_func)(void *, uint32_t);
--void
--egl_g3d_wl_drm_helper_reference_buffer(void *user_data, uint32_t name, int fd,
--                                       struct wl_drm_buffer *buffer);
-+struct native_display_wayland_bufmgr *
-+wayland_drm_bufmgr_create(wayland_drm_bufmgr_authenticate_func authenticate,
-+                          void *user_data, char *device_name);
- void
--egl_g3d_wl_drm_helper_unreference_buffer(void *user_data,
--                                         struct wl_drm_buffer *buffer);
--
--struct pipe_resource *
--egl_g3d_wl_drm_common_wl_buffer_get_resource(struct native_display *ndpy,
--                                             struct wl_buffer *buffer);
--
--EGLBoolean
--egl_g3d_wl_drm_common_query_buffer(struct native_display *ndpy,
--                                   struct wl_buffer *buffer,
--                                   EGLint attribute, EGLint *value);
-+wayland_drm_bufmgr_destroy(struct native_display_wayland_bufmgr *bufmgr);
--#endif /* _NATIVE_WAYLAND_DRM_BUFMGR_HELPER_H_ */
-+#endif /* _NATIVE_WAYLAND_DRM_BUFMGR_H_ */
-diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c
-deleted file mode 100644
-index a9e7342..0000000
---- a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr_helper.c
-+++ /dev/null
-@@ -1,106 +0,0 @@
--#include <stdint.h>
--#include <string.h>
--
--#include "native.h"
--#include "util/u_inlines.h"
--#include "state_tracker/drm_driver.h"
--
--#ifdef HAVE_WAYLAND_BACKEND
--
--#include <wayland-server.h>
--#include <wayland-drm-server-protocol.h>
--
--#include "native_wayland_drm_bufmgr_helper.h"
--
--void
--egl_g3d_wl_drm_helper_reference_buffer(void *user_data, uint32_t name, int fd,
--                                       struct wl_drm_buffer *buffer)
--{
--   struct native_display *ndpy = user_data;
--   struct pipe_resource templ;
--   struct winsys_handle wsh;
--   enum pipe_format pf;
--
--   switch (buffer->format) {
--   case WL_DRM_FORMAT_ARGB8888:
--      pf = PIPE_FORMAT_B8G8R8A8_UNORM;
--      break;
--   case WL_DRM_FORMAT_XRGB8888:
--      pf = PIPE_FORMAT_B8G8R8X8_UNORM;
--      break;
--   default:
--      pf = PIPE_FORMAT_NONE;
--      break;
--   }
--
--   if (pf == PIPE_FORMAT_NONE)
--      return;
--
--   memset(&templ, 0, sizeof(templ));
--   templ.target = PIPE_TEXTURE_2D;
--   templ.format = pf;
--   templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW;
--   templ.width0 = buffer->buffer.width;
--   templ.height0 = buffer->buffer.height;
--   templ.depth0 = 1;
--   templ.array_size = 1;
--
--   memset(&wsh, 0, sizeof(wsh));
--   wsh.handle = name;
--   wsh.stride = buffer->stride[0];
--
--   buffer->driver_buffer =
--      ndpy->screen->resource_from_handle(ndpy->screen, &templ, &wsh);
--}
--
--void
--egl_g3d_wl_drm_helper_unreference_buffer(void *user_data,
--                                         struct wl_drm_buffer *buffer)
--{
--   struct pipe_resource *resource = buffer->driver_buffer;
--
--   pipe_resource_reference(&resource, NULL);
--}
--
--struct pipe_resource *
--egl_g3d_wl_drm_common_wl_buffer_get_resource(struct native_display *ndpy,
--                                             struct wl_buffer *buffer)
--{
--   return wayland_drm_buffer_get_buffer(buffer);
--}
--
--EGLBoolean
--egl_g3d_wl_drm_common_query_buffer(struct native_display *ndpy,
--                                   struct wl_buffer *_buffer,
--                                   EGLint attribute, EGLint *value)
--{
--   struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
--   struct pipe_resource *resource = buffer->driver_buffer;
--
--   if (!wayland_buffer_is_drm(ndpy->wl_server_drm, &buffer->buffer))
--      return EGL_FALSE;
--
--   switch (attribute) {
--   case EGL_TEXTURE_FORMAT:
--      switch (resource->format) {
--      case PIPE_FORMAT_B8G8R8A8_UNORM:
--         *value = EGL_TEXTURE_RGBA;
--         return EGL_TRUE;
--      case PIPE_FORMAT_B8G8R8X8_UNORM:
--         *value = EGL_TEXTURE_RGB;
--         return EGL_TRUE;
--      default:
--         return EGL_FALSE;
--      }
--   case EGL_WIDTH:
--      *value = buffer->buffer.width;
--      return EGL_TRUE;
--   case EGL_HEIGHT:
--      *value = buffer->buffer.height;
--      return EGL_TRUE;
--   default:
--      return EGL_FALSE;
--   }
--}
--
--#endif
-diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state_trackers/egl/drm/native_drm.c
-index 03bfdda..88ac490 100644
---- a/src/gallium/state_trackers/egl/drm/native_drm.c
-+++ b/src/gallium/state_trackers/egl/drm/native_drm.c
-@@ -40,7 +40,7 @@
- #endif
- #ifdef HAVE_WAYLAND_BACKEND
--#include "common/native_wayland_drm_bufmgr_helper.h"
-+#include "common/native_wayland_drm_bufmgr.h"
- #endif
- static boolean
-@@ -132,6 +132,8 @@ drm_display_destroy(struct native_display *ndpy)
-    FREE(drmdpy->device_name);
-+   wayland_drm_bufmgr_destroy(ndpy->wayland_bufmgr);
-+
-    if (drmdpy->own_gbm) {
-       gbm_device_destroy(&drmdpy->gbmdrm->base.base);
-       if (drmdpy->fd >= 0)
-@@ -195,51 +197,6 @@ drm_display_authenticate(void *user_data, uint32_t magic)
-    return drmAuthMagic(drmdpy->fd, magic);
- }
--static struct wayland_drm_callbacks wl_drm_callbacks = {
--   drm_display_authenticate,
--   egl_g3d_wl_drm_helper_reference_buffer,
--   egl_g3d_wl_drm_helper_unreference_buffer
--};
--
--static boolean
--drm_display_bind_wayland_display(struct native_display *ndpy,
--                                  struct wl_display *wl_dpy)
--{
--   struct drm_display *drmdpy = drm_display(ndpy);
--
--   if (ndpy->wl_server_drm)
--      return FALSE;
--
--   ndpy->wl_server_drm = wayland_drm_init(wl_dpy,
--         drmdpy->device_name,
--         &wl_drm_callbacks, ndpy, 0);
--
--   if (!ndpy->wl_server_drm)
--      return FALSE;
--   
--   return TRUE;
--}
--
--static boolean
--drm_display_unbind_wayland_display(struct native_display *ndpy,
--                                    struct wl_display *wl_dpy)
--{
--   if (!ndpy->wl_server_drm)
--      return FALSE;
--
--   wayland_drm_uninit(ndpy->wl_server_drm);
--   ndpy->wl_server_drm = NULL;
--
--   return TRUE;
--}
--
--static struct native_display_wayland_bufmgr drm_display_wayland_bufmgr = {
--   drm_display_bind_wayland_display,
--   drm_display_unbind_wayland_display,
--   egl_g3d_wl_drm_common_wl_buffer_get_resource,
--   egl_g3d_wl_drm_common_query_buffer
--};
--
- #endif /* HAVE_WAYLAND_BACKEND */
- static struct native_surface *
-@@ -293,7 +248,8 @@ drm_create_display(struct gbm_gallium_drm_device *gbmdrm, int own_gbm,
-    drmdpy->base.buffer = &drm_display_buffer;
- #ifdef HAVE_WAYLAND_BACKEND
-    if (drmdpy->device_name)
--      drmdpy->base.wayland_bufmgr = &drm_display_wayland_bufmgr;
-+      drmdpy->base.wayland_bufmgr = wayland_drm_bufmgr_create(
-+             drm_display_authenticate, drmdpy, drmdpy->device_name);
- #endif
-    drm_display_init_modeset(&drmdpy->base);
-#diff --git a/src/gallium/state_trackers/egl/drm/native_drm.h b/src/gallium/state_trackers/egl/drm/native_drm.h
-#index 16a4251..2c015b2 100644
-#--- a/src/gallium/state_trackers/egl/drm/native_drm.h
-#+++ b/src/gallium/state_trackers/egl/drm/native_drm.h
-#@@ -37,7 +37,7 @@
-# #include "common/native_helper.h"
-# 
-# #ifdef HAVE_WAYLAND_BACKEND
-#-#include "common/native_wayland_drm_bufmgr_helper.h"
-#+#include "common/native_wayland_drm_bufmgr.h"
-# #endif
-# 
-# #include "gbm_gallium_drmint.h"
-diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c
-index fc8aac7..a4bcdd8 100644
---- a/src/gallium/state_trackers/egl/wayland/native_drm.c
-+++ b/src/gallium/state_trackers/egl/wayland/native_drm.c
-@@ -40,7 +40,7 @@
- #include "wayland-drm-client-protocol.h"
- #include "wayland-egl-priv.h"
--#include "common/native_wayland_drm_bufmgr_helper.h"
-+#include "common/native_wayland_drm_bufmgr.h"
- #include <xf86drm.h>
- #include <sys/types.h>
-@@ -53,7 +53,6 @@ struct wayland_drm_display {
-    const struct native_event_handler *event_handler;
-    struct wl_drm *wl_drm;
--   struct wl_drm *wl_server_drm; /* for EGL_WL_bind_wayland_display */
-    int fd;
-    char *device_name;
-    boolean authenticated;
-@@ -77,6 +76,8 @@ wayland_drm_display_destroy(struct native_display *ndpy)
-    if (drmdpy->base.own_dpy)
-       wl_display_disconnect(drmdpy->base.dpy);
-+   wayland_drm_bufmgr_destroy(ndpy->wayland_bufmgr);
-+
-    ndpy_uninit(ndpy);
-    if (drmdpy->fd)
-@@ -195,6 +196,24 @@ static const struct wl_registry_listener registry_listener = {
-        registry_handle_global
- };
-+static int
-+wayland_drm_display_authenticate(void *user_data, uint32_t magic)
-+{
-+   struct native_display *ndpy = user_data;
-+   struct wayland_drm_display *drmdpy = wayland_drm_display(ndpy);
-+   boolean current_authenticate, authenticated;
-+
-+   current_authenticate = drmdpy->authenticated;
-+
-+   wl_drm_authenticate(drmdpy->wl_drm, magic);
-+   wl_display_roundtrip(drmdpy->base.dpy);
-+   authenticated = drmdpy->authenticated;
-+
-+   drmdpy->authenticated = current_authenticate;
-+
-+   return authenticated ? 0 : -1;
-+}
-+
- static boolean
- wayland_drm_display_init_screen(struct native_display *ndpy)
- {
-@@ -226,6 +245,9 @@ wayland_drm_display_init_screen(struct native_display *ndpy)
-       return FALSE;
-    }
-+   drmdpy->base.base.wayland_bufmgr = wayland_drm_bufmgr_create(
-+          wayland_drm_display_authenticate, drmdpy, drmdpy->device_name);
-+
-    return TRUE;
- }
-@@ -235,72 +257,6 @@ static struct native_display_buffer wayland_drm_display_buffer = {
-    drm_display_export_native_buffer
- };
--static int
--wayland_drm_display_authenticate(void *user_data, uint32_t magic)
--{
--   struct native_display *ndpy = user_data;
--   struct wayland_drm_display *drmdpy = wayland_drm_display(ndpy);
--   boolean current_authenticate, authenticated;
--
--   current_authenticate = drmdpy->authenticated;
--
--   wl_drm_authenticate(drmdpy->wl_drm, magic);
--   wl_display_roundtrip(drmdpy->base.dpy);
--   authenticated = drmdpy->authenticated;
--
--   drmdpy->authenticated = current_authenticate;
--
--   return authenticated ? 0 : -1;
--}
--
--static struct wayland_drm_callbacks wl_drm_callbacks = {
--   wayland_drm_display_authenticate,
--   egl_g3d_wl_drm_helper_reference_buffer,
--   egl_g3d_wl_drm_helper_unreference_buffer
--};
--
--static boolean
--wayland_drm_display_bind_wayland_display(struct native_display *ndpy,
--                                         struct wl_display *wl_dpy)
--{
--   struct wayland_drm_display *drmdpy = wayland_drm_display(ndpy);
--
--   if (drmdpy->wl_server_drm)
--      return FALSE;
--
--   ndpy->wl_server_drm =
--      wayland_drm_init(wl_dpy, drmdpy->device_name,
--                       &wl_drm_callbacks, ndpy, 0);
--
--   if (!drmdpy->wl_server_drm)
--      return FALSE;
--   
--   return TRUE;
--}
--
--static boolean
--wayland_drm_display_unbind_wayland_display(struct native_display *ndpy,
--                                           struct wl_display *wl_dpy)
--{
--   struct wayland_drm_display *drmdpy = wayland_drm_display(ndpy);
--
--   if (!drmdpy->wl_server_drm)
--      return FALSE;
--
--   wayland_drm_uninit(drmdpy->wl_server_drm);
--   drmdpy->wl_server_drm = NULL;
--
--   return TRUE;
--}
--
--static struct native_display_wayland_bufmgr wayland_drm_display_wayland_bufmgr = {
--   wayland_drm_display_bind_wayland_display,
--   wayland_drm_display_unbind_wayland_display,
--   egl_g3d_wl_drm_common_wl_buffer_get_resource,
--   egl_g3d_wl_drm_common_query_buffer
--};
--
--
- struct wayland_display *
- wayland_create_drm_display(struct wl_display *dpy,
-                            const struct native_event_handler *event_handler)
-@@ -322,7 +278,6 @@ wayland_create_drm_display(struct wl_display *dpy,
-    drmdpy->base.base.init_screen = wayland_drm_display_init_screen;
-    drmdpy->base.base.destroy = wayland_drm_display_destroy;
-    drmdpy->base.base.buffer = &wayland_drm_display_buffer;
--   drmdpy->base.base.wayland_bufmgr = &wayland_drm_display_wayland_bufmgr;
-    drmdpy->base.create_buffer = wayland_create_drm_buffer;
-diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c
-index 053044a..3d08863 100644
---- a/src/gallium/state_trackers/egl/x11/native_dri2.c
-+++ b/src/gallium/state_trackers/egl/x11/native_dri2.c
-@@ -39,7 +39,7 @@
- #include "common/native_helper.h"
- #ifdef HAVE_WAYLAND_BACKEND
--#include "common/native_wayland_drm_bufmgr_helper.h"
-+#include "common/native_wayland_drm_bufmgr.h"
- #endif
- #ifdef GLX_DIRECT_RENDERING
-@@ -757,6 +757,8 @@ dri2_display_destroy(struct native_display *ndpy)
-    if (dri2dpy->surfaces)
-       util_hash_table_destroy(dri2dpy->surfaces);
-+   wayland_drm_bufmgr_destroy(ndpy->wayland_bufmgr);
-+
-    if (dri2dpy->xscr)
-       x11_screen_destroy(dri2dpy->xscr);
-    if (dri2dpy->own_dpy)
-@@ -785,6 +787,19 @@ dri2_display_invalidate_buffers(struct x11_screen *xscr, Drawable drawable,
-          &dri2surf->base, dri2surf->server_stamp);
- }
-+#ifdef HAVE_WAYLAND_BACKEND
-+
-+static int
-+dri2_display_authenticate(void *user_data, uint32_t magic)
-+{
-+   struct native_display *ndpy = user_data;
-+   struct dri2_display *dri2dpy = dri2_display(ndpy);
-+
-+   return x11_screen_authenticate(dri2dpy->xscr, magic);
-+}
-+
-+#endif /* HAVE_WAYLAND_BACKEND */
-+
- /**
-  * Initialize DRI2 and pipe screen.
-  */
-@@ -816,6 +831,13 @@ dri2_display_init_screen(struct native_display *ndpy)
-       return FALSE;
-    }
-+#ifdef HAVE_WAYLAND_BACKEND
-+   dri2dpy->base.wayland_bufmgr = wayland_drm_bufmgr_create(
-+         dri2_display_authenticate, dri2dpy,
-+         x11_screen_get_device_name(dri2dpy->xscr));
-+
-+#endif
-+
-    return TRUE;
- }
-@@ -832,66 +854,6 @@ dri2_display_hash_table_compare(void *key1, void *key2)
-    return ((char *) key1 - (char *) key2);
- }
--#ifdef HAVE_WAYLAND_BACKEND
--
--static int
--dri2_display_authenticate(void *user_data, uint32_t magic)
--{
--   struct native_display *ndpy = user_data;
--   struct dri2_display *dri2dpy = dri2_display(ndpy);
--
--   return x11_screen_authenticate(dri2dpy->xscr, magic);
--}
--
--static struct wayland_drm_callbacks wl_drm_callbacks = {
--   dri2_display_authenticate,
--   egl_g3d_wl_drm_helper_reference_buffer,
--   egl_g3d_wl_drm_helper_unreference_buffer
--};
--
--static boolean
--dri2_display_bind_wayland_display(struct native_display *ndpy,
--                                  struct wl_display *wl_dpy)
--{
--   struct dri2_display *dri2dpy = dri2_display(ndpy);
--
--   if (dri2dpy->wl_server_drm)
--      return FALSE;
--
--   ndpy->wl_server_drm = wayland_drm_init(wl_dpy,
--         x11_screen_get_device_name(dri2dpy->xscr),
--         &wl_drm_callbacks, ndpy, 0);
--
--   if (!dri2dpy->wl_server_drm)
--      return FALSE;
--   
--   return TRUE;
--}
--
--static boolean
--dri2_display_unbind_wayland_display(struct native_display *ndpy,
--                                    struct wl_display *wl_dpy)
--{
--   struct dri2_display *dri2dpy = dri2_display(ndpy);
--
--   if (!dri2dpy->wl_server_drm)
--      return FALSE;
--
--   wayland_drm_uninit(dri2dpy->wl_server_drm);
--   dri2dpy->wl_server_drm = NULL;
--
--   return TRUE;
--}
--
--static struct native_display_wayland_bufmgr dri2_display_wayland_bufmgr = {
--   dri2_display_bind_wayland_display,
--   dri2_display_unbind_wayland_display,
--   egl_g3d_wl_drm_common_wl_buffer_get_resource,
--   egl_g3d_wl_drm_common_query_buffer
--};
--
--#endif /* HAVE_WAYLAND_BACKEND */
--
- struct native_display *
- x11_create_dri2_display(Display *dpy,
-                         const struct native_event_handler *event_handler)
-@@ -936,9 +898,6 @@ x11_create_dri2_display(Display *dpy,
-    dri2dpy->base.copy_to_pixmap = native_display_copy_to_pixmap;
-    dri2dpy->base.create_window_surface = dri2_display_create_window_surface;
-    dri2dpy->base.create_pixmap_surface = dri2_display_create_pixmap_surface;
--#ifdef HAVE_WAYLAND_BACKEND
--   dri2dpy->base.wayland_bufmgr = &dri2_display_wayland_bufmgr;
--#endif
-    return &dri2dpy->base;
- }
--- 
-1.8.4
-
diff --git a/0002-gallium-egl-Don-t-add-a-listener-for-wl_drm-twice-in.patch b/0002-gallium-egl-Don-t-add-a-listener-for-wl_drm-twice-in.patch
deleted file mode 100644 (file)
index cca850a..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 38e128d799217a08ea12ddf75a6a7ed440384b5f Mon Sep 17 00:00:00 2001
-From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
-Date: Thu, 18 Jul 2013 15:11:24 +0300
-Subject: [PATCH 2/4] gallium-egl: Don't add a listener for wl_drm twice in
- wayland platform
-
-A listener is added just after the interface is bound, in
-registry_handle_global().
-
-Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
----
- src/gallium/state_trackers/egl/wayland/native_drm.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c
-index a4bcdd8..e1aeeeb 100644
---- a/src/gallium/state_trackers/egl/wayland/native_drm.c
-+++ b/src/gallium/state_trackers/egl/wayland/native_drm.c
-@@ -227,7 +227,6 @@ wayland_drm_display_init_screen(struct native_display *ndpy)
-    if (wayland_roundtrip(&drmdpy->base) < 0 || drmdpy->wl_drm == NULL)
-       return FALSE;
--   wl_drm_add_listener(drmdpy->wl_drm, &drm_listener, drmdpy);
-    if (wayland_roundtrip(&drmdpy->base) < 0 || drmdpy->fd == -1)
-       return FALSE;
--- 
-1.8.4
-
diff --git a/0003-egl-Update-to-Wayland-1.2-server-API.patch b/0003-egl-Update-to-Wayland-1.2-server-API.patch
deleted file mode 100644 (file)
index f4d7124..0000000
+++ /dev/null
@@ -1,523 +0,0 @@
-From 29c760d8bb6338679abaf8a30549341bd181cc51 Mon Sep 17 00:00:00 2001
-From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
-Date: Thu, 18 Jul 2013 15:11:25 +0300
-Subject: [PATCH 3/4] egl: Update to Wayland 1.2 server API
-
-Since Wayland 1.2, struct wl_buffer and a few functions are deprecated.
-
-References to wl_buffer are replaced with wl_resource and some getter
-functions and calls to deprecated functions are replaced with the proper
-new API. The latter changes are related to resource versioning.
-
-Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
----
- docs/specs/WL_bind_wayland_display.spec            |  8 ++-
- include/EGL/eglmesaext.h                           |  6 +-
- src/egl/drivers/dri2/egl_dri2.c                    | 28 +++++----
- src/egl/drivers/dri2/egl_dri2.h                    |  1 -
- src/egl/main/eglapi.c                              |  2 +-
- src/egl/main/eglapi.h                              |  2 +-
- src/egl/wayland/wayland-drm/wayland-drm.c          | 66 +++++++++++++---------
- src/egl/wayland/wayland-drm/wayland-drm.h          | 13 +++--
- .../state_trackers/egl/common/egl_g3d_api.c        |  2 +-
- .../state_trackers/egl/common/egl_g3d_image.c      |  4 +-
- .../egl/common/native_wayland_bufmgr.h             |  6 +-
- .../egl/common/native_wayland_drm_bufmgr.c         | 25 +++++---
- src/gbm/backends/dri/gbm_dri.c                     |  5 +-
- 13 files changed, 99 insertions(+), 69 deletions(-)
-
-diff --git a/docs/specs/WL_bind_wayland_display.spec b/docs/specs/WL_bind_wayland_display.spec
-index 02bd6ea..8f0083c 100644
---- a/docs/specs/WL_bind_wayland_display.spec
-+++ b/docs/specs/WL_bind_wayland_display.spec
-@@ -17,7 +17,7 @@ Status
- Version
--    Version 1, March 1, 2011
-+    Version 5, July 16, 2013
- Number
-@@ -57,7 +57,7 @@ New Procedures and Functions
-                                          struct wl_display *display);
-     EGLBoolean eglQueryWaylandBufferWL(EGLDisplay dpy,
--                                       struct wl_buffer *buffer,
-+                                       struct wl_resource *buffer,
-                                        EGLint attribute, EGLint *value);
- New Tokens
-@@ -173,3 +173,7 @@ Revision History
-         Use EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB, and EGL_TEXTURE_RGBA,
-         and just define the new YUV texture formats.  Add support for
-         EGL_WIDTH and EGL_HEIGHT in the query attributes (Kristian Høgsberg)
-+    Version 5, July 16, 2013
-+        Change eglQueryWaylandBufferWL to take a resource pointer to the
-+        buffer instead of a pointer to a struct wl_buffer, as the latter has
-+        been deprecated. (Ander Conselvan de Oliveira)
-diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h
-index d476d18..e0eae28 100644
---- a/include/EGL/eglmesaext.h
-+++ b/include/EGL/eglmesaext.h
-@@ -120,15 +120,15 @@ typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) (int fd);
- #define EGL_TEXTURE_Y_XUXV_WL           0x31D9
- struct wl_display;
--struct wl_buffer;
-+struct wl_resource;
- #ifdef EGL_EGLEXT_PROTOTYPES
- EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display);
- EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display);
--EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL(EGLDisplay dpy, struct wl_buffer *buffer, EGLint attribute, EGLint *value);
-+EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL(EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
- #endif
- typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display);
- typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display);
--typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, struct wl_buffer *buffer, EGLint attribute, EGLint *value);
-+typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
- #endif
-diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
-index 52fcb3f..bdbb450 100644
---- a/src/egl/drivers/dri2/egl_dri2.c
-+++ b/src/egl/drivers/dri2/egl_dri2.c
-@@ -41,6 +41,10 @@
- #include "egl_dri2.h"
-+#ifdef HAVE_WAYLAND_PLATFORM
-+#include "wayland-drm.h"
-+#endif
-+
- const __DRIuseInvalidateExtension use_invalidate = {
-    { __DRI_USE_INVALIDATE, 1 }
- };
-@@ -1195,7 +1199,7 @@ dri2_create_image_wayland_wl_buffer(_EGL
-                                   EGLClientBuffer _buffer,
-                                   const EGLint *attr_list)
- {
--   struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
-+   struct wl_drm_buffer *buffer;
-    struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
-    const struct wl_drm_components_descriptor *f;
-    __DRIimage *dri_image;
-@@ -1203,7 +1207,8 @@ dri2_create_image_wayland_wl_buffer(_EGL
-    EGLint err;
-    int32_t plane;
--   if (!wayland_buffer_is_drm(dri2_dpy->wl_server_drm, &buffer->buffer))
-+   buffer = wayland_drm_buffer_get(dri2_dpy->wl_server_drm, (struct wl_resource *) _buffer);
-+   if (!buffer)
-        return NULL;
-    err = _eglParseImageAttribList(&attrs, disp, attr_list);
-@@ -1508,8 +1513,8 @@ dri2_wl_reference_buffer(void *user_data
-    if (fd == -1)
-       img = dri2_dpy->image->createImageFromNames(dri2_dpy->dri_screen,
--                                                  buffer->buffer.width,
--                                                  buffer->buffer.height,
-+                                                  buffer->width,
-+                                                  buffer->height,
-                                                   buffer->format,
-                                                   (int*)&name, 1,
-                                                   buffer->stride,
-@@ -1517,8 +1522,8 @@ dri2_wl_reference_buffer(void *user_data
-                                                   NULL);
-    else
-       img = dri2_dpy->image->createImageFromFds(dri2_dpy->dri_screen,
--                                                buffer->buffer.width,
--                                                buffer->buffer.height,
-+                                                buffer->width,
-+                                                buffer->height,
-                                                 buffer->format,
-                                                 &fd, 1,
-                                                 buffer->stride,
-@@ -1612,14 +1617,15 @@ dri2_unbind_wayland_display_wl(_EGLDrive
- static EGLBoolean
- dri2_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *disp,
--                             struct wl_buffer *_buffer,
-+                             struct wl_resource *buffer_resource,
-                              EGLint attribute, EGLint *value)
- {
--   struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
-+   struct wl_drm_buffer *buffer;
-    struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
-    const struct wl_drm_components_descriptor *format;
--   if (!wayland_buffer_is_drm(dri2_dpy->wl_server_drm, &buffer->buffer))
-+   buffer = wayland_drm_buffer_get(dri2_dpy->wl_server_drm, buffer_resource);
-+   if (!buffer)
-       return EGL_FALSE;
-    format = buffer->driver_format;
-@@ -1628,10 +1634,10 @@ dri2_query_wayland_buffer_wl(_EGLDriver
-       *value = format->components;
-       return EGL_TRUE;
-    case EGL_WIDTH:
--      *value = buffer->buffer.width;
-+      *value = buffer->width;
-       return EGL_TRUE;
-    case EGL_HEIGHT:
--      *value = buffer->buffer.height;
-+      *value = buffer->height;
-       return EGL_TRUE;
-    }
-diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
-index 6dfdf94..fba5f81 100644
---- a/src/egl/drivers/dri2/egl_dri2.h
-+++ b/src/egl/drivers/dri2/egl_dri2.h
-@@ -37,7 +37,6 @@
- #ifdef HAVE_WAYLAND_PLATFORM
- #include <wayland-client.h>
--#include "wayland-drm.h"
- #include "wayland-egl-priv.h"
- #endif
-diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
-index 4a9831b..a788295 100644
---- a/src/egl/main/eglapi.c
-+++ b/src/egl/main/eglapi.c
-@@ -1571,7 +1571,7 @@ eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
- }
- EGLBoolean EGLAPIENTRY
--eglQueryWaylandBufferWL(EGLDisplay dpy,struct wl_buffer *buffer,
-+eglQueryWaylandBufferWL(EGLDisplay dpy, struct wl_resource *buffer,
-                         EGLint attribute, EGLint *value)
- {
-    _EGLDisplay *disp = _eglLockDisplay(dpy);
-diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h
-index ee382d0..4a4f976 100644
---- a/src/egl/main/eglapi.h
-+++ b/src/egl/main/eglapi.h
-@@ -123,7 +123,7 @@ typedef EGLBoolean (*ExportDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _
- struct wl_display;
- typedef EGLBoolean (*BindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display);
- typedef EGLBoolean (*UnbindWaylandDisplayWL_t)(_EGLDriver *drv, _EGLDisplay *disp, struct wl_display *display);
--typedef EGLBoolean (*QueryWaylandBufferWL_t)(_EGLDriver *drv, _EGLDisplay *displ, struct wl_buffer *buffer, EGLint attribute, EGLint *value);
-+typedef EGLBoolean (*QueryWaylandBufferWL_t)(_EGLDriver *drv, _EGLDisplay *displ, struct wl_resource *buffer, EGLint attribute, EGLint *value);
- #endif
- typedef EGLBoolean (*PostSubBufferNV_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surface, EGLint x, EGLint y, EGLint width, EGLint height);
-diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c
-index 7e2073a..d317c5e 100644
---- a/src/egl/wayland/wayland-drm/wayland-drm.c
-+++ b/src/egl/wayland/wayland-drm/wayland-drm.c
-@@ -37,6 +37,8 @@
- #include "wayland-drm.h"
- #include "wayland-drm-server-protocol.h"
-+#define MIN(x,y) (((x)<(y))?(x):(y))
-+
- struct wl_drm {
-       struct wl_display *display;
-@@ -83,8 +85,8 @@ create_buffer(struct wl_client *client,
-       }
-       buffer->drm = drm;
--      buffer->buffer.width = width;
--      buffer->buffer.height = height;
-+      buffer->width = width;
-+      buffer->height = height;
-       buffer->format = format;
-       buffer->offset[0] = offset0;
-       buffer->stride[0] = stride0;
-@@ -101,16 +103,17 @@ create_buffer(struct wl_client *client,
-               return;
-       }
--      buffer->buffer.resource.object.id = id;
--      buffer->buffer.resource.object.interface = &wl_buffer_interface;
--      buffer->buffer.resource.object.implementation =
--              (void (**)(void)) &drm->buffer_interface;
--      buffer->buffer.resource.data = buffer;
--
--      buffer->buffer.resource.destroy = destroy_buffer;
--      buffer->buffer.resource.client = resource->client;
-+      buffer->resource =
-+              wl_resource_create(client, &wl_buffer_interface, 1, id);
-+      if (!buffer->resource) {
-+              wl_resource_post_no_memory(resource);
-+              free(buffer);
-+              return;
-+      }
--      wl_client_add_resource(resource->client, &buffer->buffer.resource);
-+      wl_resource_set_implementation(buffer->resource,
-+                                     (void (**)(void)) &drm->buffer_interface,
-+                                     buffer, destroy_buffer);
- }
- static void
-@@ -205,8 +208,15 @@ bind_drm(struct wl_client *client, void
-       struct wl_resource *resource;
-         uint32_t capabilities;
--      resource = wl_client_add_object(client, &wl_drm_interface,
--                                      &drm_interface, id, data);
-+      resource = wl_resource_create(client, &wl_drm_interface,
-+                                    MIN(version, 2), id);
-+      if (!resource) {
-+              wl_client_post_no_memory(client);
-+              return;
-+      }
-+
-+      wl_resource_set_implementation(resource, &drm_interface, data, NULL);
-+
-       wl_resource_post_event(resource, WL_DRM_DEVICE, drm->device_name);
-       wl_resource_post_event(resource, WL_DRM_FORMAT,
-                              WL_DRM_FORMAT_ARGB8888);
-@@ -229,6 +239,21 @@ bind_drm(struct wl_client *client, void
-            wl_resource_post_event(resource, WL_DRM_CAPABILITIES, capabilities);
- }
-+struct wl_drm_buffer *
-+wayland_drm_buffer_get(struct wl_drm *drm, struct wl_resource *resource)
-+{
-+      struct wl_drm_buffer *buffer;
-+
-+      if (resource == NULL)
-+              return NULL;
-+
-+      if (wl_resource_instance_of(resource, &wl_buffer_interface,
-+                                  &drm->buffer_interface))
-+              return wl_resource_get_user_data(resource);
-+      else
-+              return NULL;
-+}
-+
- struct wl_drm *
- wayland_drm_init(struct wl_display *display, char *device_name,
-                  struct wayland_drm_callbacks *callbacks, void *user_data,
-@@ -245,7 +270,7 @@ wayland_drm_init(struct wl_display *disp
-         drm->flags = flags;
-         drm->buffer_interface.destroy = buffer_destroy;
--      wl_display_add_global(display, &wl_drm_interface, drm, bind_drm);
-+      wl_global_create(display, &wl_drm_interface, 2, drm, bind_drm);
-       return drm;
- }
-@@ -260,25 +285,14 @@ wayland_drm_uninit(struct wl_drm *drm)
-       free(drm);
- }
--int
--wayland_buffer_is_drm(struct wl_drm *drm, struct wl_buffer *buffer)
--{
--      return buffer->resource.object.implementation == 
--              (void (**)(void)) &drm->buffer_interface;
--}
--
- uint32_t
--wayland_drm_buffer_get_format(struct wl_buffer *buffer_base)
-+wayland_drm_buffer_get_format(struct wl_drm_buffer *buffer)
- {
--      struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) buffer_base;
--
-       return buffer->format;
- }
- void *
--wayland_drm_buffer_get_buffer(struct wl_buffer *buffer_base)
-+wayland_drm_buffer_get_buffer(struct wl_drm_buffer *buffer)
- {
--      struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) buffer_base;
--
-       return buffer->driver_buffer;
- }
-diff --git a/src/egl/wayland/wayland-drm/wayland-drm.h b/src/egl/wayland/wayland-drm/wayland-drm.h
-index 335073a..ca04882 100644
---- a/src/egl/wayland/wayland-drm/wayland-drm.h
-+++ b/src/egl/wayland/wayland-drm/wayland-drm.h
-@@ -70,8 +70,9 @@ enum wl_drm_format {
- struct wl_drm;
- struct wl_drm_buffer {
--      struct wl_buffer buffer;
-+      struct wl_resource *resource;
-       struct wl_drm *drm;
-+      int32_t width, height;
-       uint32_t format;
-         const void *driver_format;
-         int32_t offset[3];
-@@ -90,6 +91,9 @@ struct wayland_drm_callbacks {
- enum { WAYLAND_DRM_PRIME = 0x01 };
-+struct wl_drm_buffer *
-+wayland_drm_buffer_get(struct wl_drm *drm, struct wl_resource *resource);
-+
- struct wl_drm *
- wayland_drm_init(struct wl_display *display, char *device_name,
-                struct wayland_drm_callbacks *callbacks, void *user_data,
-@@ -98,13 +102,10 @@ wayland_drm_init(struct wl_display *disp
- void
- wayland_drm_uninit(struct wl_drm *drm);
--int
--wayland_buffer_is_drm(struct wl_drm *drm, struct wl_buffer *buffer);
--
- uint32_t
--wayland_drm_buffer_get_format(struct wl_buffer *buffer_base);
-+wayland_drm_buffer_get_format(struct wl_drm_buffer *buffer);
- void *
--wayland_drm_buffer_get_buffer(struct wl_buffer *buffer);
-+wayland_drm_buffer_get_buffer(struct wl_drm_buffer *buffer);
- #endif
-diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
-index 59187a9..46a3245 100644
---- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c
-+++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
-@@ -874,7 +874,7 @@ egl_g3d_unbind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *dpy,
- static EGLBoolean
- egl_g3d_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *dpy,
--                                struct wl_buffer *buffer,
-+                                struct wl_resource *buffer,
-                                 EGLint attribute, EGLint *value)
- {
-    struct egl_g3d_display *gdpy = egl_g3d_display(dpy);
-diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_image.c b/src/gallium/state_trackers/egl/common/egl_g3d_image.c
-index aa1980b..c459dc3 100644
---- a/src/gallium/state_trackers/egl/common/egl_g3d_image.c
-+++ b/src/gallium/state_trackers/egl/common/egl_g3d_image.c
-@@ -183,7 +183,7 @@ egl_g3d_reference_drm_buffer(_EGLDisplay *dpy, EGLint name,
- #ifdef EGL_WL_bind_wayland_display
- static struct pipe_resource *
--egl_g3d_reference_wl_buffer(_EGLDisplay *dpy, struct wl_buffer *buffer,
-+egl_g3d_reference_wl_buffer(_EGLDisplay *dpy, struct wl_resource *buffer,
-                             _EGLImage *img, const EGLint *attribs)
- {
-    struct egl_g3d_display *gdpy = egl_g3d_display(dpy);
-@@ -253,7 +253,7 @@ egl_g3d_create_image(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx,
- #ifdef EGL_WL_bind_wayland_display
-    case EGL_WAYLAND_BUFFER_WL:
-       ptex = egl_g3d_reference_wl_buffer(dpy,
--            (struct wl_buffer *) buffer, &gimg->base, attribs);
-+            (struct wl_resource *) buffer, &gimg->base, attribs);
-       break;
- #endif
- #ifdef EGL_ANDROID_image_native_buffer
-diff --git a/src/gallium/state_trackers/egl/common/native_wayland_bufmgr.h b/src/gallium/state_trackers/egl/common/native_wayland_bufmgr.h
-index dd27828..eb324bf 100644
---- a/src/gallium/state_trackers/egl/common/native_wayland_bufmgr.h
-+++ b/src/gallium/state_trackers/egl/common/native_wayland_bufmgr.h
-@@ -27,7 +27,7 @@
- struct native_display;
- struct wl_display;
--struct wl_buffer;
-+struct wl_resource;
- struct pipe_resource;
- struct native_display_wayland_bufmgr {
-@@ -38,11 +38,11 @@ struct native_display_wayland_bufmgr {
-                              struct wl_display *wl_dpy);
-    struct pipe_resource *(*buffer_get_resource)(struct native_display *ndpy,
--                                                struct wl_buffer *buffer);
-+                                                struct wl_resource *buffer);
-                              
-    boolean (*query_buffer)(struct native_display *ndpy,
--                           struct wl_buffer *buffer,
-+                           struct wl_resource *buffer,
-                            int attribute, int *value);
- };
-diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c
-index 1603a3a..9b69cb9 100644
---- a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c
-+++ b/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c
-@@ -70,8 +70,8 @@ wayland_drm_bufmgr_reference_buffer(void
-    templ.target = PIPE_TEXTURE_2D;
-    templ.format = pf;
-    templ.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW;
--   templ.width0 = buffer->buffer.width;
--   templ.height0 = buffer->buffer.height;
-+   templ.width0 = buffer->width;
-+   templ.height0 = buffer->height;
-    templ.depth0 = 1;
-    templ.array_size = 1;
-@@ -137,22 +137,31 @@ wayland_drm_bufmgr_unbind_display(struct
- static struct pipe_resource *
- wayland_drm_bufmgr_wl_buffer_get_resource(struct native_display *ndpy,
--                                          struct wl_buffer *buffer)
-+                                          struct wl_resourcer *buffer_resource)
- {
-+   struct wayland_drm_bufmgr *bufmgr = wayland_drm_bufmgr(ndpy->wayland_bufmgr);
-+   struct wl_drm_buffer *buffer = wayland_drm_buffer_get(bufmgr->wl_server_drm, buffer_resource);
-+
-+   if (!buffer)
-+      return NULL;
-+
-    return wayland_drm_buffer_get_buffer(buffer);
- }
- static EGLBoolean
- wayland_drm_bufmgr_query_buffer(struct native_display *ndpy,
--                                struct wl_buffer *_buffer,
-+                                struct wl_resource *buffer_resource,
-                                 EGLint attribute, EGLint *value)
- {
--   struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
--   struct pipe_resource *resource = buffer->driver_buffer;
-+   struct wayland_drm_bufmgr *bufmgr = wayland_drm_bufmgr(ndpy->wayland_bufmgr);
-+   struct wl_drm_buffer *buffer = wayland_drm_buffer_get(bufmgr->wl_server_drm, buffer_resource);
-+   struct pipe_resource *resource;
--   if (!wayland_buffer_is_drm(wayland_drm_bufmgr(ndpy->wayland_bufmgr)->wl_server_drm, &buffer->buffer))
-+   if (!buffer)
-       return EGL_FALSE;
-+   resource = buffer->driver_buffer;
-+
-    switch (attribute) {
-    case EGL_TEXTURE_FORMAT:
-       switch (resource->format) {
-@@ -166,10 +175,10 @@ wayland_drm_bufmgr_query_buffer(struct n
-          return EGL_FALSE;
-       }
-    case EGL_WIDTH:
--      *value = buffer->buffer.width;
-+      *value = buffer->width;
-       return EGL_TRUE;
-    case EGL_HEIGHT:
--      *value = buffer->buffer.height;
-+      *value = buffer->height;
-       return EGL_TRUE;
-    default:
-       return EGL_FALSE;
-diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
-index a3a0530..f7da79c 100644
---- a/src/gbm/backends/dri/gbm_dri.c
-+++ b/src/gbm/backends/dri/gbm_dri.c
-@@ -374,12 +374,13 @@ gbm_dri_bo_import(struct gbm_device *gbm
- #if HAVE_WAYLAND_PLATFORM
-    case GBM_BO_IMPORT_WL_BUFFER:
-    {
--      struct wl_drm_buffer *wb = (struct wl_drm_buffer *) buffer;
-+      struct wl_drm_buffer *wb;
-       if (dri->wl_drm == NULL)
-          return NULL;
--      if (!wayland_buffer_is_drm(dri->wl_drm, buffer))
-+      wb = wayland_drm_buffer_get(dri->wl_drm, (struct wl_resource *) buffer);
-+      if (!wb);
-          return NULL;
-       image = wb->driver_buffer;
diff --git a/0004-gallium-egl-Commit-the-rest-of-the-native_wayland_dr.patch b/0004-gallium-egl-Commit-the-rest-of-the-native_wayland_dr.patch
deleted file mode 100644 (file)
index 91b6ecb..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From c5279d643b528690243803c923fd3ff74b1b9dd5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@bitplanet.net>
-Date: Wed, 7 Aug 2013 11:19:59 -0700
-Subject: [PATCH 4/4] gallium-egl: Commit the rest of the
- native_wayland_drm_bufmgr_helper v2 patch
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-I missed Anders v2 on the list which fixed non-wayland compilation:
-
-http://lists.freedesktop.org/archives/mesa-dev/2013-July/042062.html
-
-Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
----
- src/gallium/state_trackers/egl/drm/native_drm.c  | 2 ++
- src/gallium/state_trackers/egl/drm/native_drm.h  | 4 ----
- src/gallium/state_trackers/egl/x11/native_dri2.c | 5 ++---
- 3 files changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state_trackers/egl/drm/native_drm.c
-index 88ac490..c82bbe4 100644
---- a/src/gallium/state_trackers/egl/drm/native_drm.c
-+++ b/src/gallium/state_trackers/egl/drm/native_drm.c
-@@ -132,7 +132,9 @@ drm_display_destroy(struct native_display *ndpy)
-    FREE(drmdpy->device_name);
-+#ifdef HAVE_WAYLAND_BACKEND
-    wayland_drm_bufmgr_destroy(ndpy->wayland_bufmgr);
-+#endif
-    if (drmdpy->own_gbm) {
-       gbm_device_destroy(&drmdpy->gbmdrm->base.base);
-diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c
-index 3d08863..3aa7c17 100644
---- a/src/gallium/state_trackers/egl/x11/native_dri2.c
-+++ b/src/gallium/state_trackers/egl/x11/native_dri2.c
-@@ -60,9 +60,6 @@ struct dri2_display {
-    int num_configs;
-    struct util_hash_table *surfaces;
--#ifdef HAVE_WAYLAND_BACKEND
--   struct wl_drm *wl_server_drm; /* for EGL_WL_bind_wayland_display */
--#endif
- };
- struct dri2_surface {
-@@ -757,7 +754,9 @@ dri2_display_destroy(struct native_display *ndpy)
-    if (dri2dpy->surfaces)
-       util_hash_table_destroy(dri2dpy->surfaces);
-+#ifdef HAVE_WAYLAND_BACKEND
-    wayland_drm_bufmgr_destroy(ndpy->wayland_bufmgr);
-+#endif
-    if (dri2dpy->xscr)
-       x11_screen_destroy(dri2dpy->xscr);
--- 
-1.8.4
-
index 37b573473e9d7fceae096fdfc9a0fb28ca7430bb..d36a1a20992ba20107d19c24213390d867afa8d0 100644 (file)
  
  if HAVE_EGL_PLATFORM_WAYLAND
  AM_CPPFLAGS = -DHAVE_WAYLAND_PLATFORM
  
  if HAVE_EGL_PLATFORM_WAYLAND
  AM_CPPFLAGS = -DHAVE_WAYLAND_PLATFORM
---- Mesa-9.1/src/mesa/libdricore/Makefile.am.orig      2013-02-20 01:26:22.000000000 +0100
-+++ Mesa-9.1/src/mesa/libdricore/Makefile.am   2013-02-27 20:43:01.806214222 +0100
-@@ -42,6 +42,7 @@
- libdricore@VERSION@_la_LDFLAGS = -version-number 1:0
- libdricore@VERSION@_la_LIBADD = \
-         ../program/libdricore_program.la \
-+      $(DLOPEN_LIBS)
-         $()
- if HAVE_X86_ASM
+
index d50c96bfdb3399418ff04f6527bbb12641795d95..e85ce39c258128617b69d40566d57b1bf6d7fa81 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -21,7 +21,7 @@
 # set to current Mesa version on ABI break, when xserver tables get regenerated
 # (until they start to be somehow versioned themselves)
 %define                glapi_ver       7.1.0
 # set to current Mesa version on ABI break, when xserver tables get regenerated
 # (until they start to be somehow versioned themselves)
 %define                glapi_ver       7.1.0
-# internal API version (libdricore); a.b.c for Mesa-a.b.c, a.b.0 for Mesa-a.b
+# internal API version; a.b.c for Mesa-a.b.c, a.b.0 for Mesa-a.b
 %define                int_sover       9.2.4
 # minimal supported xserver version
 %define                xserver_ver     1.5.0
 %define                int_sover       9.2.4
 # minimal supported xserver version
 %define                xserver_ver     1.5.0
 Summary:       Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
 Summary:       Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
-Version:       9.2.4
+Version:       10.0.0
 Release:       1
 License:       MIT (core) and others - see license.html file
 Group:         X11/Libraries
 Release:       1
 License:       MIT (core) and others - see license.html file
 Group:         X11/Libraries
-Source0:       ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
-# Source0-md5: e630c0a307cec4f0f70ddd029d2fe084
+Source0:       ftp://ftp.freedesktop.org/pub/mesa/10.0/%{name}Lib-%{version}.tar.bz2
+# Source0-md5: f3fe55d9735bea158bbe97ed9a0da819
 Patch0:                %{name}-link.patch
 Patch0:                %{name}-link.patch
-Patch1:                0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch
-Patch2:                0002-gallium-egl-Don-t-add-a-listener-for-wl_drm-twice-in.patch
-Patch3:                0003-egl-Update-to-Wayland-1.2-server-API.patch
-Patch4:                0004-gallium-egl-Commit-the-rest-of-the-native_wayland_dr.patch
 URL:           http://www.mesa3d.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake
 URL:           http://www.mesa3d.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake
@@ -102,9 +98,8 @@ BuildRoot:   %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # libGLESv1_CM, libGLESv2, libGL, libOSMesa:
 #  _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
 
 # libGLESv1_CM, libGLESv2, libGL, libOSMesa:
 #  _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
-# libdricore: internal library, not linked with libglapi
 # libgbm: circular dependency with libEGL (wayland_buffer_is_drm symbol)
 # libgbm: circular dependency with libEGL (wayland_buffer_is_drm symbol)
-%define                skip_post_check_so      libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libdricore.*.so.* libgbm.*.so.*
+%define                skip_post_check_so      libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libgbm.*.so.*
 
 # llvm build broken
 %define                filterout_ld    -Wl,--as-needed
 
 # llvm build broken
 %define                filterout_ld    -Wl,--as-needed
@@ -451,23 +446,6 @@ Mesa implementation of XvMC API for NVidia adapters (NV40-NV96, NVa0).
 %description libXvMC-nouveau -l pl.UTF-8
 Implementacja Mesa API XvMC dla kart NVidia (NV40-NV96, NVa0).
 
 %description libXvMC-nouveau -l pl.UTF-8
 Implementacja Mesa API XvMC dla kart NVidia (NV40-NV96, NVa0).
 
-%package libXvMC-r300
-Summary:       Mesa implementation of XvMC API for ATI Radeon R300 series adapters
-Summary(pl.UTF-8):     Implementacja Mesa API XvMC dla kart ATI Radeon z serii R300
-License:       MIT
-Group:         Libraries
-Requires:      libdrm >= %{libdrm_ver}
-Requires:      xorg-lib-libXvMC >= 1.0.6
-Conflicts:     Mesa-libXvMC
-
-%description libXvMC-r300
-Mesa implementation of XvMC API for ATI Radeon adapters based on
-R300/R400/RS690/R500 chips.
-
-%description libXvMC-r300 -l pl.UTF-8
-Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
-R300/R400/RS690/R500.
-
 %package libXvMC-r600
 Summary:       Mesa implementation of XvMC API for ATI Radeon R600 series adapters
 Summary(pl.UTF-8):     Implementacja Mesa API XvMC dla kart ATI Radeon z serii R600
 %package libXvMC-r600
 Summary:       Mesa implementation of XvMC API for ATI Radeon R600 series adapters
 Summary(pl.UTF-8):     Implementacja Mesa API XvMC dla kart ATI Radeon z serii R600
@@ -485,21 +463,6 @@ R600/R700 chips.
 Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
 R600/R700.
 
 Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach
 R600/R700.
 
-%package libXvMC-softpipe
-Summary:       Mesa softpipe implementation of XvMC API
-Summary(pl.UTF-8):     Implementacja Mesa softpipe API XvMC
-License:       MIT
-Group:         Libraries
-Requires:      libdrm >= %{libdrm_ver}
-Requires:      xorg-lib-libXvMC >= 1.0.6
-Conflicts:     Mesa-libXvMC
-
-%description libXvMC-softpipe
-Mesa softpipe implementation of XvMC API.
-
-%description libXvMC-softpipe -l pl.UTF-8
-Implementacja Mesa softpipe API XvMC.
-
 %package libgbm
 Summary:       Mesa Graphics Buffer Manager library
 Summary(pl.UTF-8):     Biblioteka Mesa Graphics Buffer Manager
 %package libgbm
 Summary:       Mesa Graphics Buffer Manager library
 Summary(pl.UTF-8):     Biblioteka Mesa Graphics Buffer Manager
@@ -714,26 +677,11 @@ Khronos platform header file.
 %description khrplatform-devel -l pl.UTF-8
 Plik nagłówkowy platformy Khronos.
 
 %description khrplatform-devel -l pl.UTF-8
 Plik nagłówkowy platformy Khronos.
 
-%package dri-core
-Summary:       X.org DRI core library
-Summary(pl.UTF-8):     Biblioteka X.org DRI core
-License:       MIT
-Group:         X11/Libraries
-Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires:      xorg-xserver-server >= %{xserver_ver}
-
-%description dri-core
-X.org DRI core library.
-
-%description dri-core -l pl.UTF-8
-Biblioteka X.org DRI core.
-
 %package dri-driver-ati-radeon-R100
 Summary:       X.org DRI driver for ATI R100 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI R100
 License:       MIT
 Group:         X11/Libraries
 %package dri-driver-ati-radeon-R100
 Summary:       X.org DRI driver for ATI R100 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI R100
 License:       MIT
 Group:         X11/Libraries
-Requires:      %{name}-dri-core = %{version}-%{release}
 Requires:      xorg-driver-video-ati
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      xorg-driver-video-ati
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
@@ -750,7 +698,6 @@ Summary:    X.org DRI driver for ATI R200 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI R200
 License:       MIT
 Group:         X11/Libraries
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart ATI R200
 License:       MIT
 Group:         X11/Libraries
-Requires:      %{name}-dri-core = %{version}-%{release}
 Requires:      xorg-driver-video-ati
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      xorg-driver-video-ati
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
@@ -815,9 +762,6 @@ Summary:    X.org DRI driver for Intel i915 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel i915
 License:       MIT
 Group:         X11/Libraries
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel i915
 License:       MIT
 Group:         X11/Libraries
-%if %{without gallium_intel}
-Requires:      %{name}-dri-core = %{version}-%{release}
-%endif
 Requires:      xorg-driver-video-intel
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      xorg-driver-video-intel
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
@@ -837,7 +781,6 @@ Summary:    X.org DRI driver for Intel i965 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel i965
 License:       MIT
 Group:         X11/Libraries
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel i965
 License:       MIT
 Group:         X11/Libraries
-Requires:      %{name}-dri-core = %{version}-%{release}
 Requires:      xorg-driver-video-intel
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      xorg-driver-video-intel
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
@@ -857,7 +800,6 @@ Summary:    X.org DRI driver for NVIDIA card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart NVIDIA
 License:       MIT
 Group:         X11/Libraries
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart NVIDIA
 License:       MIT
 Group:         X11/Libraries
-Requires:      %{name}-dri-core = %{version}-%{release}
 Requires:      xorg-driver-video-nouveau
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Requires:      xorg-driver-video-nouveau
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
@@ -873,7 +815,6 @@ Summary:    X.org DRI software rasterizer driver
 Summary(pl.UTF-8):     Sterownik X.org DRI obsługujący rysowanie programowe
 License:       MIT
 Group:         X11/Libraries
 Summary(pl.UTF-8):     Sterownik X.org DRI obsługujący rysowanie programowe
 License:       MIT
 Group:         X11/Libraries
-Requires:      %{name}-dri-core = %{version}-%{release}
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 
@@ -915,23 +856,6 @@ Mesa nouveau driver for the vdpau API. It supports NVidia adapters
 Sterownik Mesa nouveau dla API vdpau. Obsługuje karty NVidia
 (NV40-NV96, NVa0).
 
 Sterownik Mesa nouveau dla API vdpau. Obsługuje karty NVidia
 (NV40-NV96, NVa0).
 
-%package -n libvdpau-driver-mesa-r300
-Summary:       Mesa r300 driver for the vdpau API
-Summary(pl.UTF-8):     Sterownik Mesa r300 dla API vdpau
-License:       MIT
-Group:         X11/Libraries
-Requires:      libdrm >= %{libdrm_ver}
-Requires:      libvdpau >= 0.4.1
-Conflicts:     libvdpau-driver-mesa
-
-%description -n libvdpau-driver-mesa-r300
-Mesa r300 driver for the vdpau API. It supports ATI Radeon adapters
-based on R300/R400/RS690/R500 chips.
-
-%description -n libvdpau-driver-mesa-r300 -l pl.UTF-8
-Sterownik Mesa r300 dla API vdpau. Obsługuje karty ATI Radeon oparte
-na układach R300/R400/RS690/R500.
-
 %package -n libvdpau-driver-mesa-r600
 Summary:       Mesa r600 driver for the vdpau API
 Summary(pl.UTF-8):     Sterownik Mesa r600 dla API vdpau
 %package -n libvdpau-driver-mesa-r600
 Summary:       Mesa r600 driver for the vdpau API
 Summary(pl.UTF-8):     Sterownik Mesa r600 dla API vdpau
@@ -967,28 +891,9 @@ adapters based on Southern Islands chips.
 Sterownik Mesa radeonsi dla API vdpau. Obsługuje karty ATI Radeon
 oparte na układach Southern Islands.
 
 Sterownik Mesa radeonsi dla API vdpau. Obsługuje karty ATI Radeon
 oparte na układach Southern Islands.
 
-%package -n libvdpau-driver-mesa-softpipe
-Summary:       Mesa softpipe driver for the vdpau API
-Summary(pl.UTF-8):     Sterownik Mesa softpipe dla API vdpau
-License:       MIT
-Group:         X11/Libraries
-Requires:      libdrm >= %{libdrm_ver}
-Requires:      libvdpau >= 0.4.1
-Conflicts:     libvdpau-driver-mesa
-
-%description -n libvdpau-driver-mesa-softpipe
-Mesa softpipe driver for the vdpau API.
-
-%description -n libvdpau-driver-mesa-softpipe -l pl.UTF-8
-Sterownik Mesa softpipe dla API vdpau.
-
 %prep
 %setup -q
 %patch0 -p1
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
 
 %build
 %{__libtoolize}
 
 %build
 %{__libtoolize}
@@ -1070,7 +975,7 @@ rm -rf $RPM_BUILD_ROOT
 # dlopened by soname
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so
 # not used externally
 # dlopened by soname
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so
 # not used externally
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{dricore%{int_sover},glapi}.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so
 # dlopened
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/egl/egl_*.la
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la
 # dlopened
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/egl/egl_*.la
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la
@@ -1107,12 +1012,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %post  libXvMC-nouveau -p /sbin/ldconfig
 %postun        libXvMC-nouveau -p /sbin/ldconfig
 
 %post  libXvMC-nouveau -p /sbin/ldconfig
 %postun        libXvMC-nouveau -p /sbin/ldconfig
-%post  libXvMC-r300 -p /sbin/ldconfig
-%postun        libXvMC-r300 -p /sbin/ldconfig
 %post  libXvMC-r600 -p /sbin/ldconfig
 %postun        libXvMC-r600 -p /sbin/ldconfig
 %post  libXvMC-r600 -p /sbin/ldconfig
 %postun        libXvMC-r600 -p /sbin/ldconfig
-%post  libXvMC-softpipe -p /sbin/ldconfig
-%postun        libXvMC-softpipe -p /sbin/ldconfig
 
 %post  libgbm -p /sbin/ldconfig
 %postun        libgbm -p /sbin/ldconfig
 
 %post  libgbm -p /sbin/ldconfig
 %postun        libgbm -p /sbin/ldconfig
@@ -1126,9 +1027,6 @@ rm -rf $RPM_BUILD_ROOT
 %post  libxatracker -p /sbin/ldconfig
 %postun        libxatracker -p /sbin/ldconfig
 
 %post  libxatracker -p /sbin/ldconfig
 %postun        libxatracker -p /sbin/ldconfig
 
-%post  dri-core -p /sbin/ldconfig
-%postun        dri-core -p /sbin/ldconfig
-
 %if %{with egl}
 %files libEGL
 %defattr(644,root,root,755)
 %if %{with egl}
 %files libEGL
 %defattr(644,root,root,755)
@@ -1164,6 +1062,7 @@ rm -rf $RPM_BUILD_ROOT
 # symlink for binary apps which fail to conform Linux OpenGL ABI
 # (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
 %attr(755,root,root) %{_libdir}/libGL.so
 # symlink for binary apps which fail to conform Linux OpenGL ABI
 # (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
 %attr(755,root,root) %{_libdir}/libGL.so
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc
 
 %files libGL-devel
 %defattr(644,root,root,755)
 
 %files libGL-devel
 %defattr(644,root,root,755)
@@ -1253,20 +1152,10 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
 %endif
 
 %attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1
 %endif
 
-%files libXvMC-r300
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCr300.so.1.0.0
-%attr(755,root,root) %ghost %{_libdir}/libXvMCr300.so.1
-
 %files libXvMC-r600
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0
 %attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
 %files libXvMC-r600
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0
 %attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1
-
-%files libXvMC-softpipe
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libXvMCsoftpipe.so.1.0.0
-%attr(755,root,root) %ghost %{_libdir}/libXvMCsoftpipe.so.1
 %endif
 
 %if %{with gbm}
 %endif
 
 %if %{with gbm}
@@ -1344,7 +1233,7 @@ rm -rf $RPM_BUILD_ROOT
 %files libxatracker
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libxatracker.so.*.*
 %files libxatracker
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libxatracker.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libxatracker.so.1
+%attr(755,root,root) %ghost %{_libdir}/libxatracker.so.2
 
 %files libxatracker-devel
 %defattr(644,root,root,755)
 
 %files libxatracker-devel
 %defattr(644,root,root,755)
@@ -1362,12 +1251,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/KHR/khrplatform.h
 %endif
 
 %{_includedir}/KHR/khrplatform.h
 %endif
 
-%files dri-core
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdricore%{int_sover}.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdricore%{int_sover}.so.1
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc
-
 %files dri-driver-ati-radeon-R100
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/radeon_dri.so
 %files dri-driver-ati-radeon-R100
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/radeon_dri.so
@@ -1425,12 +1308,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so
 %endif
 
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so
 %endif
 
-%files -n libvdpau-driver-mesa-r300
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0.0
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so
-
 %files -n libvdpau-driver-mesa-r600
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0
 %files -n libvdpau-driver-mesa-r600
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0
@@ -1442,10 +1319,4 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1
 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so
-
-%files -n libvdpau-driver-mesa-softpipe
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1.0.0
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1
-%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so
 %endif
 %endif
This page took 0.46533 seconds and 4 git commands to generate.