From b54c21859be3590a319ceade1f58d0b89ac5ef32 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 19 Mar 2013 00:04:27 -0700 Subject: Tue Mar 19 00:04:27 PDT 2013 --- extra/glamor-egl/git-fixes.patch | 251 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) (limited to 'extra/glamor-egl/git-fixes.patch') diff --git a/extra/glamor-egl/git-fixes.patch b/extra/glamor-egl/git-fixes.patch index 4cf1b9fa0..7a03a225e 100644 --- a/extra/glamor-egl/git-fixes.patch +++ b/extra/glamor-egl/git-fixes.patch @@ -175,3 +175,254 @@ index 36beb49..d307838 100644 } else { \ -- cgit v0.9.0.2-2-gbebe +From 61879504f86c5cb326cc06a5873283234cfbbcd2 Mon Sep 17 00:00:00 2001 +From: Michel Dänzer +Date: Wed, 13 Mar 2013 16:15:33 +0000 +Subject: glamoregl: Use xf86ScreenToScrn() + +Fixes crashes when glamor is used for a GPU screen with xserver 1.13 or +newer. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200#c17 + +Signed-off-by: Michel Dänzer +Reviewed-by: Chris Wilson +--- +diff --git a/src/glamor_egl.c b/src/glamor_egl.c +index a248aa2..cd0bdc0 100644 +--- a/src/glamor_egl.c ++++ b/src/glamor_egl.c +@@ -116,7 +116,7 @@ glamor_egl_get_screen_private(ScrnInfoPtr scrn) + _X_EXPORT void + glamor_egl_make_current(ScreenPtr screen) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl = + glamor_egl_get_screen_private(scrn); + +@@ -139,7 +139,7 @@ glamor_egl_make_current(ScreenPtr screen) + _X_EXPORT void + glamor_egl_restore_context(ScreenPtr screen) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl = + glamor_egl_get_screen_private(scrn); + +@@ -221,7 +221,7 @@ glamor_create_texture_from_image(struct glamor_egl_screen_private + Bool + glamor_egl_create_textured_screen(ScreenPtr screen, int handle, int stride) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl; + PixmapPtr screen_pixmap; + +@@ -245,7 +245,7 @@ glamor_egl_create_textured_screen_ext(ScreenPtr screen, + int stride, + PixmapPtr *back_pixmap) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl; + + glamor_egl = glamor_egl_get_screen_private(scrn); +@@ -272,7 +272,7 @@ Bool + glamor_egl_create_textured_pixmap(PixmapPtr pixmap, int handle, int stride) + { + ScreenPtr screen = pixmap->drawable.pScreen; +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl; + EGLImageKHR image; + GLuint texture; +@@ -318,7 +318,7 @@ done: + static void + _glamor_egl_destroy_pixmap_image(PixmapPtr pixmap) + { +- ScrnInfoPtr scrn = xf86Screens[pixmap->drawable.pScreen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(pixmap->drawable.pScreen); + EGLImageKHR image; + struct glamor_egl_screen_private *glamor_egl = + glamor_egl_get_screen_private(scrn); +@@ -338,7 +338,7 @@ _glamor_egl_destroy_pixmap_image(PixmapPtr pixmap) + _X_EXPORT void + glamor_egl_exchange_buffers(PixmapPtr front, PixmapPtr back) + { +- ScrnInfoPtr scrn = xf86Screens[front->drawable.pScreen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(front->drawable.pScreen); + struct glamor_egl_screen_private *glamor_egl = + glamor_egl_get_screen_private(scrn); + EGLImageKHR old_front_image; +@@ -371,7 +371,7 @@ glamor_egl_close_screen(CLOSE_SCREEN_ARGS_DECL) + PixmapPtr screen_pixmap; + EGLImageKHR back_image; + +- scrn = xf86Screens[screen->myNum]; ++ scrn = xf86ScreenToScrn(screen); + glamor_egl = glamor_egl_get_screen_private(scrn); + screen_pixmap = screen->GetScreenPixmap(screen); + +@@ -417,7 +417,7 @@ glamor_egl_has_extension(struct glamor_egl_screen_private *glamor_egl, + void + glamor_egl_screen_init(ScreenPtr screen) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl = + glamor_egl_get_screen_private(scrn); + +@@ -588,7 +588,7 @@ glamor_gl_dispatch_init(ScreenPtr screen, + struct glamor_gl_dispatch *dispatch, + int gl_version) + { +- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; ++ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); + struct glamor_egl_screen_private *glamor_egl = + glamor_egl_get_screen_private(scrn); + if (!glamor_gl_dispatch_init_impl +-- +cgit v0.9.0.2-2-gbebe +From 3cd34ba9f0708ab7d816eeee80139257fafcb4ad Mon Sep 17 00:00:00 2001 +From: Armin K +Date: Wed, 13 Mar 2013 17:28:57 +0000 +Subject: Silence Automake 1.13 warnings + +warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') + +Reviewed-by: Michel Dänzer +--- +diff --git a/src/Makefile.am b/src/Makefile.am +index 55721f6..2140b81 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -12,7 +12,7 @@ endif + + instdir = $(moduledir) + +-INCLUDES = \ ++AM_CPPFLAGS = \ + $(XORG_INCS) + + AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) $(LIBDRM_CFLAGS) +-- +cgit v0.9.0.2-2-gbebe +From c7241f097ddb4d3bfb832f6b4ee6fafe8b4d2cfe Mon Sep 17 00:00:00 2001 +From: Armin K +Date: Wed, 13 Mar 2013 17:28:58 +0000 +Subject: Properly dist necesary headers + +Reviewed-by: Michel Dänzer +--- +diff --git a/src/Makefile.am b/src/Makefile.am +index 2140b81..0879287 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -31,6 +31,7 @@ libglamor_la_SOURCES = \ + glamor_fill.c \ + glamor_fillspans.c \ + glamor_getspans.c \ ++ glamor_glext.h \ + glamor_glyphs.c \ + glamor_polyfillrect.c \ + glamor_polylines.c \ +-- +cgit v0.9.0.2-2-gbebe +From f2d7f1cf351bdc3a8a00fe564cd6a937db3b4e19 Mon Sep 17 00:00:00 2001 +From: Armin K +Date: Wed, 13 Mar 2013 17:49:32 +0000 +Subject: First attempt to make libglamor.so shared versioned library + +As recommended by Michel in this thread reply: +http://lists.freedesktop.org/archives/glamor/2013-March/000305.html + +v2: Correct shared library location in glamor.pc.in + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62259 + +Reviewed-by: Michel Dänzer +--- +diff --git a/glamor.pc.in b/glamor.pc.in +index 74ecd2e..5257468 100644 +--- a/glamor.pc.in ++++ b/glamor.pc.in +@@ -2,12 +2,11 @@ prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ + includedir=@includedir@ +-moduledir=@moduledir@ + sdkdir=@sdkdir@ + GLAMOR_GL_CFLAGS=@GLAMOR_GL_CFLAGS@ + + Name: glamor + Description: X.Org glamor common library. + Version: @PACKAGE_VERSION@ +-Cflags: -I${sdkdir} -L${moduledir} -lglamor ${GLAMOR_GL_CFLAGS} +- ++Cflags: -I${sdkdir} ${GLAMOR_GL_CFLAGS} ++Libs: -L${libdir} -lglamor +diff --git a/src/Makefile.am b/src/Makefile.am +index 0879287..4beb559 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,4 +1,4 @@ +-inst_LTLIBRARIES = libglamor.la ++lib_LTLIBRARIES = libglamor.la + + # Override these since glamor doesn't need them and the needed files aren't + # built (in hw/xfree86/os-support/solaris) until after glamor is built +@@ -10,14 +10,12 @@ else + libglamor_la_LIBADD = $(GL_LIBS) + endif + +-instdir = $(moduledir) +- + AM_CPPFLAGS = \ + $(XORG_INCS) + + AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) $(LIBDRM_CFLAGS) + +-libglamor_la_LDFLAGS = -avoid-version ++libglamor_la_LDFLAGS = -version-info 0:0:0 + + libglamor_la_SOURCES = \ + compat-api.h \ +@@ -65,7 +63,8 @@ if EGL + LIBGLAMOREGL = libglamoregl.la + module_LTLIBRARIES = $(LIBGLAMOREGL) + libglamoregl_la_DEPENDENCIES = libglamor.la +-libglamoregl_la_LDFLAGS = -avoid-version -module $(EGL_LIBS) -lglamor $(GLX_SYS_LIBS) ++libglamoregl_la_LDFLAGS = -avoid-version -module ++libglamoregl_la_LIBADD = $(EGL_LIBS) $(GLX_SYS_LIBS) libglamor.la + libglamoregl_la_SOURCES = glamor_eglmodule.c $(top_srcdir)/src/glamor_egl.c + libglamoregl_la_CFLAGS = $(AM_CFLAGS) $(GLX_DEFINES) -I$(top_srcdir)/src $(LIBDRM_CFLAGS) $(EGL_CFLAGS) + endif +-- +cgit v0.9.0.2-2-gbebe +From 81aadb8ae204f58d77a948c8624f1e72659dcdf0 Mon Sep 17 00:00:00 2001 +From: Armin K +Date: Wed, 13 Mar 2013 17:49:33 +0000 +Subject: Don't use AC_PROG_LIBTOOL + +Autoconf only needs libtool macros which are copied when +autoreconf is run. There is no need for looking for +"libtool" program in PATH. This properly disables static +libraries from being built and installed. + +Reviewed-by: Michel Dänzer +--- +diff --git a/configure.ac b/configure.ac +index 230543c..5ff6ae1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -37,7 +37,6 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + AM_MAINTAINER_MODE([enable]) + + # Initialize libtool +-AC_PROG_LIBTOOL + LT_PREREQ([2.2]) + LT_INIT([disable-static]) + +-- +cgit v0.9.0.2-2-gbebe -- cgit v1.2.3-54-g00ecf