[packages/Mesa] - updated to 9.2.3 - updated wayland 1.2 port patches to cover also commit 360a141f24a9d00891665b7fe
qboosh
qboosh at pld-linux.org
Sat Nov 16 14:31:26 CET 2013
commit 6873864745999333a4dae03274ae5d04b84c2a6b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Nov 16 14:32:02 2013 +0100
- updated to 9.2.3
- updated wayland 1.2 port patches to cover also commit 360a141f24a9d00891665b7fedb77ffb116944ca
(its backport, 7ab2b8c4c4607817c91946dcba943b29f1bd1895, has been merged to 9.2 tree)
...-Simplify-native_wayland_drm_bufmgr_helpe.patch | 63 +++++++++-------
0003-egl-Update-to-Wayland-1.2-server-API.patch | 85 ++++++++++++----------
...-Commit-the-rest-of-the-native_wayland_dr.patch | 15 ----
Mesa.spec | 6 +-
4 files changed, 83 insertions(+), 86 deletions(-)
---
diff --git a/Mesa.spec b/Mesa.spec
index b4c45d2..8ea19f3 100644
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -22,7 +22,7 @@
# (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
-%define int_sover 9.2.2
+%define int_sover 9.2.3
# minimal supported xserver version
%define xserver_ver 1.5.0
# other packages
@@ -33,12 +33,12 @@
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 9.2.2
+Version: 9.2.3
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: 20887f8020db7d1736a01ae9cd5d8c38
+# Source0-md5: f56b6beb556e4b9072814419f7c554e3
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
diff --git a/0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch b/0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch
index 134c417..bd28311 100644
--- a/0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch
+++ b/0001-gallium-egl-Simplify-native_wayland_drm_bufmgr_helpe.patch
@@ -60,9 +60,9 @@ index 431bd3f..797933d 100644
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
@@ -221,7 +221,7 @@ index 0000000..1603a3a
+ struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
+ struct pipe_resource *resource = buffer->driver_buffer;
+
-+ if (!wayland_buffer_is_drm(&buffer->buffer))
++ if (!wayland_buffer_is_drm(wayland_drm_bufmgr(ndpy->wayland_bufmgr)->wl_server_drm, &buffer->buffer))
+ return EGL_FALSE;
+
+ switch (attribute) {
@@ -410,7 +410,7 @@ index a9e7342..0000000
- struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
- struct pipe_resource *resource = buffer->driver_buffer;
-
-- if (!wayland_buffer_is_drm(&buffer->buffer))
+- if (!wayland_buffer_is_drm(ndpy->wl_server_drm, &buffer->buffer))
- return EGL_FALSE;
-
- switch (attribute) {
@@ -441,6 +441,15 @@ diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state
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);
@@ -450,7 +459,7 @@ index 03bfdda..88ac490 100644
if (drmdpy->own_gbm) {
gbm_device_destroy(&drmdpy->gbmdrm->base.base);
if (drmdpy->fd >= 0)
-@@ -195,53 +197,6 @@ drm_display_authenticate(void *user_data, uint32_t magic)
+@@ -195,51 +197,6 @@ drm_display_authenticate(void *user_data, uint32_t magic)
return drmAuthMagic(drmdpy->fd, magic);
}
@@ -466,14 +475,14 @@ index 03bfdda..88ac490 100644
-{
- struct drm_display *drmdpy = drm_display(ndpy);
-
-- if (drmdpy->wl_server_drm)
+- if (ndpy->wl_server_drm)
- return FALSE;
-
-- drmdpy->wl_server_drm = wayland_drm_init(wl_dpy,
+- ndpy->wl_server_drm = wayland_drm_init(wl_dpy,
- drmdpy->device_name,
- &wl_drm_callbacks, ndpy, 0);
-
-- if (!drmdpy->wl_server_drm)
+- if (!ndpy->wl_server_drm)
- return FALSE;
-
- return TRUE;
@@ -483,13 +492,11 @@ index 03bfdda..88ac490 100644
-drm_display_unbind_wayland_display(struct native_display *ndpy,
- struct wl_display *wl_dpy)
-{
-- struct drm_display *drmdpy = drm_display(ndpy);
--
-- if (!drmdpy->wl_server_drm)
+- if (!ndpy->wl_server_drm)
- return FALSE;
-
-- wayland_drm_uninit(drmdpy->wl_server_drm);
-- drmdpy->wl_server_drm = NULL;
+- wayland_drm_uninit(ndpy->wl_server_drm);
+- ndpy->wl_server_drm = NULL;
-
- return TRUE;
-}
@@ -514,19 +521,19 @@ index 03bfdda..88ac490 100644
#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/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
@@ -629,7 +636,7 @@ index fc8aac7..a4bcdd8 100644
- if (drmdpy->wl_server_drm)
- return FALSE;
-
-- drmdpy->wl_server_drm =
+- ndpy->wl_server_drm =
- wayland_drm_init(wl_dpy, drmdpy->device_name,
- &wl_drm_callbacks, ndpy, 0);
-
@@ -759,7 +766,7 @@ index 053044a..3d08863 100644
- if (dri2dpy->wl_server_drm)
- return FALSE;
-
-- dri2dpy->wl_server_drm = wayland_drm_init(wl_dpy,
+- ndpy->wl_server_drm = wayland_drm_init(wl_dpy,
- x11_screen_get_device_name(dri2dpy->xscr),
- &wl_drm_callbacks, ndpy, 0);
-
diff --git a/0003-egl-Update-to-Wayland-1.2-server-API.patch b/0003-egl-Update-to-Wayland-1.2-server-API.patch
index 5d768dd..f4d7124 100644
--- a/0003-egl-Update-to-Wayland-1.2-server-API.patch
+++ b/0003-egl-Update-to-Wayland-1.2-server-API.patch
@@ -94,7 +94,7 @@ index 52fcb3f..bdbb450 100644
const __DRIuseInvalidateExtension use_invalidate = {
{ __DRI_USE_INVALIDATE, 1 }
};
-@@ -1195,7 +1199,7 @@ dri2_create_image_wayland_wl_buffer(_EGLDisplay *disp, _EGLContext *ctx,
+@@ -1195,7 +1199,7 @@ dri2_create_image_wayland_wl_buffer(_EGL
EGLClientBuffer _buffer,
const EGLint *attr_list)
{
@@ -103,17 +103,17 @@ index 52fcb3f..bdbb450 100644
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(_EGLDisplay *disp, _EGLContext *ctx,
+@@ -1203,7 +1207,8 @@ dri2_create_image_wayland_wl_buffer(_EGL
EGLint err;
int32_t plane;
-- if (!wayland_buffer_is_drm(&buffer->buffer))
-+ buffer = wayland_drm_buffer_get((struct wl_resource *) _buffer);
+- 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, uint32_t name, int fd,
+@@ -1508,8 +1513,8 @@ dri2_wl_reference_buffer(void *user_data
if (fd == -1)
img = dri2_dpy->image->createImageFromNames(dri2_dpy->dri_screen,
@@ -124,7 +124,7 @@ index 52fcb3f..bdbb450 100644
buffer->format,
(int*)&name, 1,
buffer->stride,
-@@ -1517,8 +1522,8 @@ dri2_wl_reference_buffer(void *user_data, uint32_t name, int fd,
+@@ -1517,8 +1522,8 @@ dri2_wl_reference_buffer(void *user_data
NULL);
else
img = dri2_dpy->image->createImageFromFds(dri2_dpy->dri_screen,
@@ -135,7 +135,7 @@ index 52fcb3f..bdbb450 100644
buffer->format,
&fd, 1,
buffer->stride,
-@@ -1607,13 +1612,14 @@ dri2_unbind_wayland_display_wl(_EGLDriver *drv, _EGLDisplay *disp,
+@@ -1612,14 +1617,15 @@ dri2_unbind_wayland_display_wl(_EGLDrive
static EGLBoolean
dri2_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *disp,
@@ -145,15 +145,16 @@ index 52fcb3f..bdbb450 100644
{
- 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(&buffer->buffer))
-+ buffer = wayland_drm_buffer_get(buffer_resource);
+- 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;
-@@ -1622,10 +1628,10 @@ dri2_query_wayland_buffer_wl(_EGLDriver *drv, _EGLDisplay *disp,
+@@ -1628,10 +1634,10 @@ dri2_query_wayland_buffer_wl(_EGLDriver
*value = format->components;
return EGL_TRUE;
case EGL_WIDTH:
@@ -217,7 +218,7 @@ index 7e2073a..d317c5e 100644
struct wl_drm {
struct wl_display *display;
-@@ -86,8 +88,8 @@ create_buffer(struct wl_client *client, struct wl_resource *resource,
+@@ -83,8 +85,8 @@ create_buffer(struct wl_client *client,
}
buffer->drm = drm;
@@ -228,14 +229,14 @@ index 7e2073a..d317c5e 100644
buffer->format = format;
buffer->offset[0] = offset0;
buffer->stride[0] = stride0;
-@@ -104,16 +106,17 @@ create_buffer(struct wl_client *client, struct wl_resource *resource,
+@@ -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;
+- (void (**)(void)) &drm->buffer_interface;
- buffer->buffer.resource.data = buffer;
-
- buffer->buffer.resource.destroy = destroy_buffer;
@@ -250,12 +251,12 @@ index 7e2073a..d317c5e 100644
- wl_client_add_resource(resource->client, &buffer->buffer.resource);
+ wl_resource_set_implementation(buffer->resource,
-+ (void (**)(void)) &drm_buffer_interface,
++ (void (**)(void)) &drm->buffer_interface,
+ buffer, destroy_buffer);
}
static void
-@@ -208,8 +211,15 @@ bind_drm(struct wl_client *client, void *data, uint32_t version, uint32_t id)
+@@ -205,8 +208,15 @@ bind_drm(struct wl_client *client, void
struct wl_resource *resource;
uint32_t capabilities;
@@ -273,18 +274,20 @@ index 7e2073a..d317c5e 100644
wl_resource_post_event(resource, WL_DRM_DEVICE, drm->device_name);
wl_resource_post_event(resource, WL_DRM_FORMAT,
WL_DRM_FORMAT_ARGB8888);
-@@ -232,6 +242,19 @@ bind_drm(struct wl_client *client, void *data, uint32_t version, uint32_t id)
+@@ -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_resource *resource)
++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))
++ &drm->buffer_interface))
+ return wl_resource_get_user_data(resource);
+ else
+ return NULL;
@@ -293,24 +296,24 @@ index 7e2073a..d317c5e 100644
struct wl_drm *
wayland_drm_init(struct wl_display *display, char *device_name,
struct wayland_drm_callbacks *callbacks, void *user_data,
-@@ -247,7 +270,7 @@ wayland_drm_init(struct wl_display *display, char *device_name,
- drm->user_data = 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;
}
-@@ -262,25 +285,14 @@ wayland_drm_uninit(struct wl_drm *drm)
+@@ -260,25 +285,14 @@ wayland_drm_uninit(struct wl_drm *drm)
free(drm);
}
-int
--wayland_buffer_is_drm(struct wl_buffer *buffer)
+-wayland_buffer_is_drm(struct wl_drm *drm, struct wl_buffer *buffer)
-{
- return buffer->resource.object.implementation ==
-- (void (**)(void)) &drm_buffer_interface;
+- (void (**)(void)) &drm->buffer_interface;
-}
-
uint32_t
@@ -350,17 +353,17 @@ index 335073a..ca04882 100644
enum { WAYLAND_DRM_PRIME = 0x01 };
+struct wl_drm_buffer *
-+wayland_drm_buffer_get(struct wl_resource *resource);
++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 *display, char *device_name,
+@@ -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_buffer *buffer);
+-wayland_buffer_is_drm(struct wl_drm *drm, struct wl_buffer *buffer);
-
uint32_t
-wayland_drm_buffer_get_format(struct wl_buffer *buffer_base);
@@ -437,7 +440,7 @@ diff --git a/src/gallium/state_trackers/egl/common/native_wayland_drm_bufmgr.c b
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 *user_data, uint32_t name, int fd,
+@@ -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;
@@ -448,14 +451,15 @@ index 1603a3a..9b69cb9 100644
templ.depth0 = 1;
templ.array_size = 1;
-@@ -137,22 +137,29 @@ wayland_drm_bufmgr_unbind_display(struct native_display *ndpy,
+@@ -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_resource *buffer_resource)
++ struct wl_resourcer *buffer_resource)
{
-+ struct wl_drm_buffer *buffer = wayland_drm_buffer_get(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;
@@ -471,10 +475,11 @@ index 1603a3a..9b69cb9 100644
{
- struct wl_drm_buffer *buffer = (struct wl_drm_buffer *) _buffer;
- struct pipe_resource *resource = buffer->driver_buffer;
-+ struct wl_drm_buffer *buffer = wayland_drm_buffer_get(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);
+ struct pipe_resource *resource;
-- if (!wayland_buffer_is_drm(&buffer->buffer))
+- if (!wayland_buffer_is_drm(wayland_drm_bufmgr(ndpy->wayland_bufmgr)->wl_server_drm, &buffer->buffer))
+ if (!buffer)
return EGL_FALSE;
@@ -483,7 +488,7 @@ index 1603a3a..9b69cb9 100644
switch (attribute) {
case EGL_TEXTURE_FORMAT:
switch (resource->format) {
-@@ -166,10 +173,10 @@ wayland_drm_bufmgr_query_buffer(struct native_display *ndpy,
+@@ -166,10 +175,10 @@ wayland_drm_bufmgr_query_buffer(struct n
return EGL_FALSE;
}
case EGL_WIDTH:
@@ -500,19 +505,19 @@ 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,9 +374,10 @@ gbm_dri_bo_import(struct gbm_device *gbm,
+@@ -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 (!wayland_buffer_is_drm(buffer))
-+ wb = wayland_drm_buffer_get((struct wl_resource *) buffer);
-+ if (!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;
---
-1.8.4
-
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
index d4da213..91b6ecb 100644
--- 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
@@ -32,21 +32,6 @@ index 88ac490..c82bbe4 100644
if (drmdpy->own_gbm) {
gbm_device_destroy(&drmdpy->gbmdrm->base.base);
-diff --git a/src/gallium/state_trackers/egl/drm/native_drm.h b/src/gallium/state_trackers/egl/drm/native_drm.h
-index 2c015b2..6a1cd5d 100644
---- a/src/gallium/state_trackers/egl/drm/native_drm.h
-+++ b/src/gallium/state_trackers/egl/drm/native_drm.h
-@@ -67,10 +67,6 @@ struct drm_display {
- struct drm_surface **shown_surfaces;
- /* save the original settings of the CRTCs */
- struct drm_crtc *saved_crtcs;
--
--#ifdef HAVE_WAYLAND_BACKEND
-- struct wl_drm *wl_server_drm; /* for EGL_WL_bind_wayland_display */
--#endif
- };
-
- struct drm_config {
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
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/Mesa.git/commitdiff/6873864745999333a4dae03274ae5d04b84c2a6b
More information about the pld-cvs-commit
mailing list