From 70efe872dfc186add85c4af039dc798f2d274727 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 31 2019 12:16:07 +0000 Subject: import mesa-18.3.4-5.el7 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1058255 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mesa-18.3.4.tar.xz diff --git a/.mesa.metadata b/.mesa.metadata new file mode 100644 index 0000000..d4b88d0 --- /dev/null +++ b/.mesa.metadata @@ -0,0 +1 @@ +0a3c4d1883aab3d6fa143d0699c7a81799d77fd6 SOURCES/mesa-18.3.4.tar.xz diff --git a/SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch b/SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch new file mode 100644 index 0000000..4cb6895 --- /dev/null +++ b/SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch @@ -0,0 +1,31 @@ +From b344e32cdf7064a1f2ff7ef37027edda6589404f Mon Sep 17 00:00:00 2001 +From: Ray Zhang +Date: Wed, 27 Feb 2019 06:54:05 +0000 +Subject: [PATCH] glx: fix shared memory leak in X11 + +call XShmDetach to allow X server to free shared memory + +Fixes: bcd80be49a8260c2233d "drisw/glx: use XShm if possible" +Signed-off-by: Ray Zhang +Reviewed-by: Dave Airlie +--- + src/glx/drisw_glx.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c +index 00c7fa100ab..48c03ca42e0 100644 +--- a/src/glx/drisw_glx.c ++++ b/src/glx/drisw_glx.c +@@ -147,6 +147,9 @@ XDestroyDrawable(struct drisw_drawable * pdp, Display * dpy, XID drawable) + if (pdp->ximage) + XDestroyImage(pdp->ximage); + ++ if (pdp->shminfo.shmid > 0) ++ XShmDetach(dpy, &pdp->shminfo); ++ + free(pdp->visinfo); + + XFreeGC(dpy, pdp->gc); +-- +2.20.1 + diff --git a/SOURCES/0001-pkgconfig-Fix-gl.pc-when-glvnd-is-enabled.patch b/SOURCES/0001-pkgconfig-Fix-gl.pc-when-glvnd-is-enabled.patch new file mode 100644 index 0000000..39930b7 --- /dev/null +++ b/SOURCES/0001-pkgconfig-Fix-gl.pc-when-glvnd-is-enabled.patch @@ -0,0 +1,29 @@ +From 7c137cfbffb4962b4e080052ef05cfb2266e758a Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 29 May 2018 09:47:35 -0400 +Subject: [PATCH] pkgconfig: Fix gl.pc when glvnd is enabled + +GL_LIB expands to GLX_mesa, but applications should not link against +that. -lGL is never wrong, just hardcode it. + +Signed-off-by: Adam Jackson +--- + src/mesa/gl.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mesa/gl.pc.in b/src/mesa/gl.pc.in +index 181724b97b..8c7b7da8d7 100644 +--- a/src/mesa/gl.pc.in ++++ b/src/mesa/gl.pc.in +@@ -7,7 +7,7 @@ Name: gl + Description: Mesa OpenGL library + Requires.private: @GL_PC_REQ_PRIV@ + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -l@GL_LIB@ ++Libs: -L${libdir} -lGL + Libs.private: @GL_PC_LIB_PRIV@ + Cflags: -I${includedir} @GL_PC_CFLAGS@ + glx_tls: @GLX_TLS@ +-- +2.17.0 + diff --git a/SOURCES/Mesa-MLAA-License-Clarification-Email.txt b/SOURCES/Mesa-MLAA-License-Clarification-Email.txt new file mode 100644 index 0000000..30bdf2e --- /dev/null +++ b/SOURCES/Mesa-MLAA-License-Clarification-Email.txt @@ -0,0 +1,117 @@ + +Subject: RE: Question about Mesa MLAA license +From: Jorge Jimenez +Date: 01/08/2013 12:50 PM +To: Tom Callaway +CC: "jorge@iryoku.com" + +Yes to both questions. + +Thanks, +Jorge + +From: Tom Callaway +Sent: January 8, 2013 6:49 PM +To: Jorge Jimenez +CC: jorge@iryoku.com +Subject: Re: Question about Mesa MLAA license + +On 01/08/2013 12:39 PM, Jorge Jimenez wrote: +> Hi Tom, +> +> What we meant with that is that we made an exception for clause 2. +> Instead of clause 2, in the case of the Mesa project, you have to name +> the technique Jimenez's MLAA in the config options of Mesa. We did that +> just to allow them to solve license issues. This exception should be for +> the Mesa project, and any project using Mesa, like Fedora. +> +> We want to widespread usage of our MLAA, so we want to avoid any kind of +> license complications. Hope current one is good for Fedora, if not +> please tell, and we'll see what we can do! + +Okay, a few more questions: + +* If Fedora decides to simply reproduce the quoted statement: +"Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia, +Jose I. Echevarria, Fernando Navarro and Diego Gutierrez." + +Specifically, if this is done as part of documentation included with +Mesa, is that sufficient to meet clause 2 even if the Mesa config option +is not set as described in your exception? + +* Currently, the Mesa config option for MLAA says: "Morphological +anti-aliasing based on Jimenez\' MLAA. 0 to disable, 8 for default +quality". Is this in compliance with your exception? + +Thanks again, + +~tom + +== +Fedora Project + +Subject: RE: Question about Mesa MLAA license +From: Jorge Jimenez +Date: 01/08/2013 12:39 PM +To: "jorge@iryoku.com" , Tom Callaway + +Hi Tom, + +What we meant with that is that we made an exception for clause 2. +Instead of clause 2, in the case of the Mesa project, you have to name +the technique Jimenez's MLAA in the config options of Mesa. We did that +just to allow them to solve license issues. This exception should be for +the Mesa project, and any project using Mesa, like Fedora. + +We want to widespread usage of our MLAA, so we want to avoid any kind of +license complications. Hope current one is good for Fedora, if not +please tell, and we'll see what we can do! + +Cheers, +Jorge + +From: Tom Callaway +Sent: January 8, 2013 6:30 PM +To: jorge@iryoku.com +Subject: Question about Mesa MLAA license + +Jorge, + +Thanks for all of your fantastic graphics work! I have been auditing +Fedora (a popular distribution of Linux) for license compliance and I +came across your MLAA code in Mesa. + +The license says: + + * 2. Redistributions in binary form must reproduce the following +statement: + * + * "Uses Jimenez's MLAA. Copyright (C) 2010 by Jorge Jimenez, Belen Masia, + * Jose I. Echevarria, Fernando Navarro and Diego Gutierrez." + * + * Only for use in the Mesa project, this point 2 is filled by naming the + * technique Jimenez's MLAA in the Mesa config options. + +That wording is unclear. When you say "Only for use in the Mesa +project...", it seems like you could either be saying: + +- This code may only be used as part of Mesa. + +OR + +- In Mesa, you can comply with clause 2 by simply selecting "Jimenez's +MLAA" in the Mesa config options. + +***** + +If the first item is true, then we may have to remove the MLAA code from +Fedora's copy of Mesa. However, looking at the license on your SMAA +code, I do not believe it to be the case. Please let me know either way! + +Thanks in advance, + +Tom Callaway +Fedora Legal + +== +Fedora Project diff --git a/SOURCES/fix-llvmpipe-remote-shm.patch b/SOURCES/fix-llvmpipe-remote-shm.patch new file mode 100644 index 0000000..b03ae67 --- /dev/null +++ b/SOURCES/fix-llvmpipe-remote-shm.patch @@ -0,0 +1,68 @@ +From 607a59f2922b1261920bae94efe4dc87da18d576 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 5 Mar 2019 15:31:51 -0500 +Subject: [PATCH] drisw: Try harder to probe whether MIT-SHM works + +XQueryExtension merely tells you whether the extension exists, it +doesn't tell you whether you're local enough for it to work. +XShmQueryVersion is not enough to discover this either, you need to +provoke the server to do actual work, and if it thinks you're remote it +will throw BadRequest at you. So send an invalid ShmDetach and use the +error code to distinguish local from remote. + +Signed-off-by: Adam Jackson +--- + src/glx/drisw_glx.c | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) + +diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c +index c63b097a71a..67698d1c450 100644 +--- a/src/glx/drisw_glx.c ++++ b/src/glx/drisw_glx.c +@@ -73,11 +73,10 @@ handle_xerror(Display *dpy, XErrorEvent *event) + (void) dpy; + + assert(xshm_opcode != -1); +- if (event->request_code != xshm_opcode || +- event->minor_code != X_ShmAttach) ++ if (event->request_code != xshm_opcode) + return 0; + +- xshm_error = 1; ++ xshm_error = event->error_code; + return 0; + } + +@@ -826,9 +825,28 @@ driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions) + static int + check_xshm(Display *dpy) + { ++ int (*old_handler)(Display *, XErrorEvent *); ++ + int ignore; ++ XShmSegmentInfo info = { 0, }; ++ ++ if (!XQueryExtension(dpy, "MIT-SHM", &xshm_opcode, &ignore, &ignore)) ++ return False; ++ ++ old_handler = XSetErrorHandler(handle_xerror); ++ XShmDetach(dpy, &info); ++ XSync(dpy, False); ++ (void) XSetErrorHandler(old_handler); + +- return XQueryExtension(dpy, "MIT-SHM", &xshm_opcode, &ignore, &ignore); ++ /* BadRequest means we're a remote client. If we were local we'd ++ * expect BadValue since 'info' has an invalid segment name. ++ */ ++ if (xshm_error == BadRequest) ++ return False; ++ ++ /* reset this as others read it later */ ++ xshm_error = 0; ++ return True; + } + + static struct glx_screen * +-- +2.20.1 + diff --git a/SOURCES/fix-timeout-warnings.patch b/SOURCES/fix-timeout-warnings.patch new file mode 100644 index 0000000..e0c7bf7 --- /dev/null +++ b/SOURCES/fix-timeout-warnings.patch @@ -0,0 +1,39 @@ +diff -up mesa-20180530/src/gallium/drivers/r600/Makefile.am.dma mesa-20180530/src/gallium/drivers/r600/Makefile.am +--- mesa-20180530/src/gallium/drivers/r600/Makefile.am.dma 2018-07-19 10:24:26.110829986 +1000 ++++ mesa-20180530/src/gallium/drivers/r600/Makefile.am 2018-07-19 10:24:44.569297131 +1000 +@@ -10,7 +10,8 @@ AM_CFLAGS = \ + $(GALLIUM_DRIVER_CFLAGS) \ + $(RADEON_CFLAGS) \ + $(LIBELF_CFLAGS) \ +- -I$(top_srcdir)/src/amd/common ++ -I$(top_srcdir)/src/amd/common \ ++ -Wstrict-overflow=0 + + AM_CXXFLAGS = \ + $(GALLIUM_DRIVER_CXXFLAGS) \ +diff -up mesa-20180530/src/gallium/winsys/virgl/drm/Makefile.am.dma mesa-20180530/src/gallium/winsys/virgl/drm/Makefile.am +--- mesa-20180530/src/gallium/winsys/virgl/drm/Makefile.am.dma 2018-07-19 10:25:13.089018307 +1000 ++++ mesa-20180530/src/gallium/winsys/virgl/drm/Makefile.am 2018-07-19 10:25:34.775566694 +1000 +@@ -26,7 +26,8 @@ include $(top_srcdir)/src/gallium/Automa + AM_CFLAGS = \ + -I$(top_srcdir)/src/gallium/drivers \ + $(GALLIUM_WINSYS_CFLAGS) \ +- $(LIBDRM_CFLAGS) ++ $(LIBDRM_CFLAGS) \ ++ -Wstrict-overflow=0 + + noinst_LTLIBRARIES = libvirgldrm.la + +diff -up mesa-20180530/src/gallium/winsys/virgl/vtest/Makefile.am.dma mesa-20180530/src/gallium/winsys/virgl/vtest/Makefile.am +--- mesa-20180530/src/gallium/winsys/virgl/vtest/Makefile.am.dma 2018-07-19 10:25:48.521914297 +1000 ++++ mesa-20180530/src/gallium/winsys/virgl/vtest/Makefile.am 2018-07-19 10:26:05.622346714 +1000 +@@ -25,7 +25,8 @@ include $(top_srcdir)/src/gallium/Automa + + AM_CFLAGS = \ + -I$(top_srcdir)/src/gallium/drivers \ +- $(GALLIUM_WINSYS_CFLAGS) ++ $(GALLIUM_WINSYS_CFLAGS) \ ++ -Wstrict-overflow=0 + + noinst_LTLIBRARIES = libvirglvtest.la + diff --git a/SOURCES/make-git-snapshot.sh b/SOURCES/make-git-snapshot.sh new file mode 100755 index 0000000..4d1f635 --- /dev/null +++ b/SOURCES/make-git-snapshot.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# Usage: ./make-git-snapshot.sh [COMMIT] +# +# to make a snapshot of the given tag/branch. Defaults to HEAD. +# Point env var REF to a local mesa repo to reduce clone time. + +if [ -e /usr/bin/pxz ]; then + XZ=/usr/bin/pxz +else + XZ=/usr/bin/xz +fi + +DIRNAME=mesa-$( date +%Y%m%d ) + +echo REF ${REF:+--reference $REF} +echo DIRNAME $DIRNAME +echo HEAD ${1:-18.0} + +rm -rf $DIRNAME + +git clone --depth 1 ${REF:+--reference $REF} --branch 18.0 \ + git://git.freedesktop.org/git/mesa/mesa $DIRNAME + +GIT_DIR=$DIRNAME/.git git archive --format=tar --prefix=$DIRNAME/ ${1:-HEAD} \ + | $XZ > $DIRNAME.tar.xz + +# rm -rf $DIRNAME diff --git a/SOURCES/make-release-tarball.sh b/SOURCES/make-release-tarball.sh new file mode 100644 index 0000000..93d65f2 --- /dev/null +++ b/SOURCES/make-release-tarball.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# +# usage: make-release-tarball.sh [version] + +curl -O ftp://ftp.freedesktop.org/pub/mesa/$1/MesaLib-$1.tar.bz2 diff --git a/SOURCES/mesa-10.2-evergreen-big-endian.patch b/SOURCES/mesa-10.2-evergreen-big-endian.patch new file mode 100644 index 0000000..ab67078 --- /dev/null +++ b/SOURCES/mesa-10.2-evergreen-big-endian.patch @@ -0,0 +1,328 @@ +diff -up mesa-20160225/src/gallium/drivers/r600/evergreen_state.c.egbe mesa-20160225/src/gallium/drivers/r600/evergreen_state.c +--- mesa-20160225/src/gallium/drivers/r600/evergreen_state.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/r600/evergreen_state.c 2016-02-25 13:06:47.351154059 +1000 +@@ -219,7 +219,7 @@ static bool r600_is_sampler_format_suppo + static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format) + { + return r600_translate_colorformat(chip, format) != ~0U && +- r600_translate_colorswap(format) != ~0U; ++ r600_translate_colorswap(chip, format) != ~0U; + } + + static bool r600_is_zs_format_supported(enum pipe_format format) +@@ -982,7 +982,8 @@ void evergreen_init_color_surface_rat(st + unsigned format = r600_translate_colorformat(rctx->b.chip_class, + surf->base.format); + unsigned endian = r600_colorformat_endian_swap(format); +- unsigned swap = r600_translate_colorswap(surf->base.format); ++ unsigned swap = r600_translate_colorswap(rctx->b.chip_class, ++ surf->base.format); + unsigned block_size = + align(util_format_get_blocksize(pipe_buffer->format), 4); + unsigned pitch_alignment = +@@ -1143,7 +1144,7 @@ void evergreen_init_color_surface(struct + format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format); + assert(format != ~0); + +- swap = r600_translate_colorswap(surf->base.format); ++ swap = r600_translate_colorswap(rctx->b.chip_class, surf->base.format); + assert(swap != ~0); + + if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { +diff -up mesa-20160225/src/gallium/drivers/r600/r600_state.c.egbe mesa-20160225/src/gallium/drivers/r600/r600_state.c +--- mesa-20160225/src/gallium/drivers/r600/r600_state.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/r600/r600_state.c 2016-02-25 13:06:47.351154059 +1000 +@@ -149,7 +149,7 @@ static bool r600_is_sampler_format_suppo + static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format) + { + return r600_translate_colorformat(chip, format) != ~0U && +- r600_translate_colorswap(format) != ~0U; ++ r600_translate_colorswap(chip, format) != ~0U; + } + + static bool r600_is_zs_format_supported(enum pipe_format format) +@@ -927,7 +927,7 @@ static void r600_init_color_surface(stru + format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format); + assert(format != ~0); + +- swap = r600_translate_colorswap(surf->base.format); ++ swap = r600_translate_colorswap(rctx->b.chip_class, surf->base.format); + assert(swap != ~0); + + if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { +diff -up mesa-20160225/src/gallium/drivers/r600/r600_state_common.c.egbe mesa-20160225/src/gallium/drivers/r600/r600_state_common.c +--- mesa-20160225/src/gallium/drivers/r600/r600_state_common.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/r600/r600_state_common.c 2016-02-25 13:06:47.352154086 +1000 +@@ -2704,7 +2704,7 @@ uint32_t r600_translate_colorformat(enum + + uint32_t r600_colorformat_endian_swap(uint32_t colorformat) + { +- if (R600_BIG_ENDIAN) { ++ if (0 && R600_BIG_ENDIAN) { + switch(colorformat) { + /* 8-bit buffers. */ + case V_0280A0_COLOR_4_4: +diff -up mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h.egbe mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h +--- mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h 2016-02-25 13:06:47.352154086 +1000 +@@ -576,7 +576,7 @@ struct pipe_surface *r600_create_surface + struct pipe_resource *texture, + const struct pipe_surface *templ, + unsigned width, unsigned height); +-unsigned r600_translate_colorswap(enum pipe_format format); ++unsigned r600_translate_colorswap(enum chip_class chip, enum pipe_format format); + void evergreen_do_fast_color_clear(struct r600_common_context *rctx, + struct pipe_framebuffer_state *fb, + struct r600_atom *fb_state, +diff -up mesa-20160225/src/gallium/drivers/radeon/r600_texture.c.egbe mesa-20160225/src/gallium/drivers/radeon/r600_texture.c +--- mesa-20160225/src/gallium/drivers/radeon/r600_texture.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/radeon/r600_texture.c 2016-02-25 13:07:22.903127421 +1000 +@@ -1252,10 +1252,215 @@ static void r600_surface_destroy(struct + FREE(surface); + } + +-unsigned r600_translate_colorswap(enum pipe_format format) ++static uint32_t evergreen_translate_colorswap(enum pipe_format format) ++{ ++ switch (format) { ++ /* 8-bit buffers. */ ++ case PIPE_FORMAT_A8_UNORM: ++ case PIPE_FORMAT_A8_SNORM: ++ case PIPE_FORMAT_A8_UINT: ++ case PIPE_FORMAT_A8_SINT: ++ case PIPE_FORMAT_A16_UNORM: ++ case PIPE_FORMAT_A16_SNORM: ++ case PIPE_FORMAT_A16_UINT: ++ case PIPE_FORMAT_A16_SINT: ++ case PIPE_FORMAT_A16_FLOAT: ++ case PIPE_FORMAT_A32_UINT: ++ case PIPE_FORMAT_A32_SINT: ++ case PIPE_FORMAT_A32_FLOAT: ++ case PIPE_FORMAT_R4A4_UNORM: ++ return V_0280A0_SWAP_ALT_REV; ++ case PIPE_FORMAT_I8_UNORM: ++ case PIPE_FORMAT_I8_SNORM: ++ case PIPE_FORMAT_I8_UINT: ++ case PIPE_FORMAT_I8_SINT: ++ case PIPE_FORMAT_L8_UNORM: ++ case PIPE_FORMAT_L8_SNORM: ++ case PIPE_FORMAT_L8_UINT: ++ case PIPE_FORMAT_L8_SINT: ++ case PIPE_FORMAT_L8_SRGB: ++ case PIPE_FORMAT_L16_UNORM: ++ case PIPE_FORMAT_L16_SNORM: ++ case PIPE_FORMAT_L16_UINT: ++ case PIPE_FORMAT_L16_SINT: ++ case PIPE_FORMAT_L16_FLOAT: ++ case PIPE_FORMAT_L32_UINT: ++ case PIPE_FORMAT_L32_SINT: ++ case PIPE_FORMAT_L32_FLOAT: ++ case PIPE_FORMAT_I16_UNORM: ++ case PIPE_FORMAT_I16_SNORM: ++ case PIPE_FORMAT_I16_UINT: ++ case PIPE_FORMAT_I16_SINT: ++ case PIPE_FORMAT_I16_FLOAT: ++ case PIPE_FORMAT_I32_UINT: ++ case PIPE_FORMAT_I32_SINT: ++ case PIPE_FORMAT_I32_FLOAT: ++ case PIPE_FORMAT_R8_UNORM: ++ case PIPE_FORMAT_R8_SNORM: ++ case PIPE_FORMAT_R8_UINT: ++ case PIPE_FORMAT_R8_SINT: ++ return V_0280A0_SWAP_STD; ++ ++ case PIPE_FORMAT_L4A4_UNORM: ++ case PIPE_FORMAT_A4R4_UNORM: ++ return V_0280A0_SWAP_ALT; ++ ++ /* 16-bit buffers. */ ++ case PIPE_FORMAT_B5G6R5_UNORM: ++ return V_0280A0_SWAP_STD_REV; ++ ++ case PIPE_FORMAT_B5G5R5A1_UNORM: ++ case PIPE_FORMAT_B5G5R5X1_UNORM: ++ return V_0280A0_SWAP_ALT; ++ ++ case PIPE_FORMAT_B4G4R4A4_UNORM: ++ case PIPE_FORMAT_B4G4R4X4_UNORM: ++ return V_0280A0_SWAP_ALT; ++ ++ case PIPE_FORMAT_Z16_UNORM: ++ return V_0280A0_SWAP_STD; ++ ++ case PIPE_FORMAT_L8A8_UNORM: ++ case PIPE_FORMAT_L8A8_SNORM: ++ case PIPE_FORMAT_L8A8_UINT: ++ case PIPE_FORMAT_L8A8_SINT: ++ case PIPE_FORMAT_L8A8_SRGB: ++ case PIPE_FORMAT_L16A16_UNORM: ++ case PIPE_FORMAT_L16A16_SNORM: ++ case PIPE_FORMAT_L16A16_UINT: ++ case PIPE_FORMAT_L16A16_SINT: ++ case PIPE_FORMAT_L16A16_FLOAT: ++ case PIPE_FORMAT_L32A32_UINT: ++ case PIPE_FORMAT_L32A32_SINT: ++ case PIPE_FORMAT_L32A32_FLOAT: ++ case PIPE_FORMAT_R8A8_UNORM: ++ case PIPE_FORMAT_R8A8_SNORM: ++ case PIPE_FORMAT_R8A8_UINT: ++ case PIPE_FORMAT_R8A8_SINT: ++ case PIPE_FORMAT_R16A16_UNORM: ++ case PIPE_FORMAT_R16A16_SNORM: ++ case PIPE_FORMAT_R16A16_UINT: ++ case PIPE_FORMAT_R16A16_SINT: ++ case PIPE_FORMAT_R16A16_FLOAT: ++ case PIPE_FORMAT_R32A32_UINT: ++ case PIPE_FORMAT_R32A32_SINT: ++ case PIPE_FORMAT_R32A32_FLOAT: ++ return V_0280A0_SWAP_ALT; ++ case PIPE_FORMAT_R8G8_UNORM: ++ case PIPE_FORMAT_R8G8_SNORM: ++ case PIPE_FORMAT_R8G8_UINT: ++ case PIPE_FORMAT_R8G8_SINT: ++ return V_0280A0_SWAP_STD; ++ ++ case PIPE_FORMAT_R16_UNORM: ++ case PIPE_FORMAT_R16_SNORM: ++ case PIPE_FORMAT_R16_UINT: ++ case PIPE_FORMAT_R16_SINT: ++ case PIPE_FORMAT_R16_FLOAT: ++ return V_0280A0_SWAP_STD; ++ ++ /* 32-bit buffers. */ ++ ++ case PIPE_FORMAT_A8B8G8R8_SRGB: ++ return V_0280A0_SWAP_STD_REV; ++ case PIPE_FORMAT_B8G8R8A8_SRGB: ++ return V_0280A0_SWAP_ALT; ++ ++ case PIPE_FORMAT_B8G8R8A8_UNORM: ++ case PIPE_FORMAT_B8G8R8X8_UNORM: ++ return V_0280A0_SWAP_ALT; ++ ++ case PIPE_FORMAT_A8R8G8B8_UNORM: ++ case PIPE_FORMAT_X8R8G8B8_UNORM: ++ return V_0280A0_SWAP_ALT_REV; ++ case PIPE_FORMAT_R8G8B8A8_SNORM: ++ case PIPE_FORMAT_R8G8B8A8_UNORM: ++ case PIPE_FORMAT_R8G8B8X8_UNORM: ++ case PIPE_FORMAT_R8G8B8X8_SNORM: ++ case PIPE_FORMAT_R8G8B8X8_SRGB: ++ case PIPE_FORMAT_R8G8B8X8_UINT: ++ case PIPE_FORMAT_R8G8B8X8_SINT: ++ case PIPE_FORMAT_R8G8B8A8_SINT: ++ case PIPE_FORMAT_R8G8B8A8_UINT: ++ return V_0280A0_SWAP_STD; ++ ++ case PIPE_FORMAT_A8B8G8R8_UNORM: ++ case PIPE_FORMAT_X8B8G8R8_UNORM: ++ /* case PIPE_FORMAT_R8SG8SB8UX8U_NORM: */ ++ return V_0280A0_SWAP_STD_REV; ++ ++ case PIPE_FORMAT_Z24X8_UNORM: ++ case PIPE_FORMAT_Z24_UNORM_S8_UINT: ++ return V_0280A0_SWAP_STD; ++ ++ case PIPE_FORMAT_R10G10B10A2_UNORM: ++ case PIPE_FORMAT_R10G10B10X2_SNORM: ++ case PIPE_FORMAT_R10SG10SB10SA2U_NORM: ++ case PIPE_FORMAT_R10G10B10A2_UINT: ++ return V_0280A0_SWAP_STD; ++ ++ case PIPE_FORMAT_B10G10R10A2_UNORM: ++ case PIPE_FORMAT_B10G10R10A2_UINT: ++ case PIPE_FORMAT_B10G10R10X2_UNORM: ++ return V_0280A0_SWAP_ALT; ++ ++ case PIPE_FORMAT_R11G11B10_FLOAT: ++ case PIPE_FORMAT_R16G16_UNORM: ++ case PIPE_FORMAT_R16G16_SNORM: ++ case PIPE_FORMAT_R16G16_FLOAT: ++ case PIPE_FORMAT_R16G16_UINT: ++ case PIPE_FORMAT_R16G16_SINT: ++ case PIPE_FORMAT_R32_UINT: ++ case PIPE_FORMAT_R32_SINT: ++ case PIPE_FORMAT_R32_FLOAT: ++ case PIPE_FORMAT_Z32_FLOAT: ++ return V_0280A0_SWAP_STD; ++ ++ /* 64-bit buffers. */ ++ case PIPE_FORMAT_R32G32_FLOAT: ++ case PIPE_FORMAT_R32G32_UINT: ++ case PIPE_FORMAT_R32G32_SINT: ++ case PIPE_FORMAT_R16G16B16A16_UNORM: ++ case PIPE_FORMAT_R16G16B16A16_SNORM: ++ case PIPE_FORMAT_R16G16B16A16_UINT: ++ case PIPE_FORMAT_R16G16B16A16_SINT: ++ case PIPE_FORMAT_R16G16B16A16_FLOAT: ++ case PIPE_FORMAT_R16G16B16X16_UNORM: ++ case PIPE_FORMAT_R16G16B16X16_SNORM: ++ case PIPE_FORMAT_R16G16B16X16_FLOAT: ++ case PIPE_FORMAT_R16G16B16X16_UINT: ++ case PIPE_FORMAT_R16G16B16X16_SINT: ++ case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT: ++ ++ /* 128-bit buffers. */ ++ case PIPE_FORMAT_R32G32B32A32_FLOAT: ++ case PIPE_FORMAT_R32G32B32A32_SNORM: ++ case PIPE_FORMAT_R32G32B32A32_UNORM: ++ case PIPE_FORMAT_R32G32B32A32_SINT: ++ case PIPE_FORMAT_R32G32B32A32_UINT: ++ case PIPE_FORMAT_R32G32B32X32_FLOAT: ++ case PIPE_FORMAT_R32G32B32X32_UINT: ++ case PIPE_FORMAT_R32G32B32X32_SINT: ++ return V_0280A0_SWAP_STD; ++ default: ++ R600_ERR("unsupported colorswap format %d\n", format); ++ return ~0U; ++ } ++ return ~0U; ++} ++ ++unsigned r600_translate_colorswap(enum chip_class chip, enum pipe_format format) + { + const struct util_format_description *desc = util_format_description(format); + ++#ifdef PIPE_ARCH_BIG_ENDIAN ++ if (chip == EVERGREEN) { ++ unsigned ret = evergreen_translate_colorswap(format); ++ if (ret != ~0U) ++ return ret; ++ } ++#endif ++ + #define HAS_SWIZZLE(chan,swz) (desc->swizzle[chan] == UTIL_FORMAT_SWIZZLE_##swz) + + if (format == PIPE_FORMAT_R11G11B10_FLOAT) /* isn't plain */ +@@ -1411,6 +1616,10 @@ void evergreen_do_fast_color_clear(struc + if (rctx->render_cond) + return; + ++#ifdef PIPE_ARCH_BIG_ENDIAN ++ return false; /* broken; overkill to just disable them, but */ ++#endif ++ + for (i = 0; i < fb->nr_cbufs; i++) { + struct r600_texture *tex; + unsigned clear_bit = PIPE_CLEAR_COLOR0 << i; +diff -up mesa-20160225/src/gallium/drivers/radeonsi/si_state.c.egbe mesa-20160225/src/gallium/drivers/radeonsi/si_state.c +--- mesa-20160225/src/gallium/drivers/radeonsi/si_state.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/radeonsi/si_state.c 2016-02-25 13:06:47.353154114 +1000 +@@ -1966,7 +1966,7 @@ static bool si_is_vertex_format_supporte + static bool si_is_colorbuffer_format_supported(enum pipe_format format) + { + return si_translate_colorformat(format) != V_028C70_COLOR_INVALID && +- r600_translate_colorswap(format) != ~0U; ++ r600_translate_colorswap(0, format) != ~0U; + } + + static bool si_is_zs_format_supported(enum pipe_format format) +@@ -2249,7 +2249,7 @@ static void si_initialize_color_surface( + R600_ERR("Invalid CB format: %d, disabling CB.\n", surf->base.format); + } + assert(format != V_028C70_COLOR_INVALID); +- swap = r600_translate_colorswap(surf->base.format); ++ swap = r600_translate_colorswap(0, surf->base.format); + if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { + endian = V_028C70_ENDIAN_NONE; + } else { diff --git a/SOURCES/mesa-8.0.1-fix-16bpp.patch b/SOURCES/mesa-8.0.1-fix-16bpp.patch new file mode 100644 index 0000000..0b8e68a --- /dev/null +++ b/SOURCES/mesa-8.0.1-fix-16bpp.patch @@ -0,0 +1,13 @@ +diff -up Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx Mesa-8.0.1/src/mesa/state_tracker/st_manager.c +--- Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx 2012-02-14 18:44:00.000000000 -0500 ++++ Mesa-8.0.1/src/mesa/state_tracker/st_manager.c 2012-04-02 12:02:14.613964417 -0400 +@@ -528,6 +528,9 @@ st_context_teximage(struct st_context_if + if (util_format_get_component_bits(internal_format, + UTIL_FORMAT_COLORSPACE_RGB, 3) > 0) + internalFormat = GL_RGBA; ++ else if (util_format_get_component_bits(internal_format, ++ UTIL_FORMAT_COLORSPACE_RGB, 0) == 5) ++ internalFormat = GL_RGB5; + else + internalFormat = GL_RGB; + diff --git a/SOURCES/mesa-9.2-hardware-float.patch b/SOURCES/mesa-9.2-hardware-float.patch new file mode 100644 index 0000000..f279d9d --- /dev/null +++ b/SOURCES/mesa-9.2-hardware-float.patch @@ -0,0 +1,36 @@ +diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c +index 5ec1df6..a0406fc 100644 +--- a/src/gallium/drivers/llvmpipe/lp_screen.c ++++ b/src/gallium/drivers/llvmpipe/lp_screen.c +@@ -306,6 +306,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen, + if (!format_desc) + return FALSE; + ++ if ((bind & PIPE_BIND_RENDER_TARGET) && ++ format != PIPE_FORMAT_R9G9B9E5_FLOAT && ++ format != PIPE_FORMAT_R11G11B10_FLOAT && ++ util_format_is_float(format)) { ++ return FALSE; ++ } ++ + assert(target == PIPE_BUFFER || + target == PIPE_TEXTURE_1D || + target == PIPE_TEXTURE_1D_ARRAY || +diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c +index 937035e..2f5e571 100644 +--- a/src/gallium/drivers/softpipe/sp_screen.c ++++ b/src/gallium/drivers/softpipe/sp_screen.c +@@ -291,6 +291,13 @@ softpipe_is_format_supported( struct pipe_screen *screen, + if (!format_desc) + return FALSE; + ++ if ((bind & PIPE_BIND_RENDER_TARGET) && ++ format != PIPE_FORMAT_R9G9B9E5_FLOAT && ++ format != PIPE_FORMAT_R11G11B10_FLOAT && ++ util_format_is_float(format)) { ++ return FALSE; ++ } ++ + if (sample_count > 1) + return FALSE; + diff --git a/SOURCES/nv50-fix-build.patch b/SOURCES/nv50-fix-build.patch new file mode 100644 index 0000000..af64216 --- /dev/null +++ b/SOURCES/nv50-fix-build.patch @@ -0,0 +1,12 @@ +diff -up mesa-20140827/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp.fixbuild mesa-20140827/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp +--- mesa-20140827/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp.fixbuild 2014-08-27 15:33:21.858830514 +1000 ++++ mesa-20140827/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp 2014-08-27 15:33:33.193830514 +1000 +@@ -739,7 +739,7 @@ Instruction::clone(ClonePolicy + if (!i) + i = new_Instruction(pol.context(), op, dType); + #ifndef NDEBUG // non-conformant assert, so this is required +- assert(typeid(*i) == typeid(*this)); ++ //assert(typeid(*i) == typeid(*this)); + #endif + + pol.set(this, i); diff --git a/SOURCES/sanitize-tarball.sh b/SOURCES/sanitize-tarball.sh new file mode 100755 index 0000000..e7fa18a --- /dev/null +++ b/SOURCES/sanitize-tarball.sh @@ -0,0 +1,55 @@ +#!/bin/sh +# +# usage: sanitize-tarball.sh [tarball] + +if [ "x$1" = "x" ]; then + echo "Usage: sanitize-tarball.sh [tarball]" + exit 1 +fi + +if [ -e /usr/bin/pxz ]; then + XZ=/usr/bin/pxz +else + XZ=/usr/bin/xz +fi + +dirname=$(basename $(basename "$1" .tar.bz2) .tar.xz) + +tar xf "$1" +pushd $dirname + +cat > src/gallium/auxiliary/vl/vl_mpeg12_decoder.c << EOF +#include "vl_mpeg12_decoder.h" +struct pipe_video_codec * +vl_create_mpeg12_decoder(struct pipe_context *context, + const struct pipe_video_codec *templat) +{ + return NULL; +} +EOF + +cat > src/gallium/auxiliary/vl/vl_decoder.c << EOF +#include "vl_decoder.h" +bool vl_profile_supported(struct pipe_screen *screen, + enum pipe_video_profile profile, + enum pipe_video_entrypoint entrypoint) +{ + return false; +} + +int +vl_level_supported(struct pipe_screen *screen, enum pipe_video_profile profile) +{ + return 0; +} + +struct pipe_video_codec * +vl_create_decoder(struct pipe_context *pipe, + const struct pipe_video_codec *templat) +{ + return NULL; +} +EOF + +popd +tar cf - $dirname | $XZ > $dirname.tar.xz diff --git a/SPECS/mesa.spec b/SPECS/mesa.spec new file mode 100644 index 0000000..104b3a5 --- /dev/null +++ b/SPECS/mesa.spec @@ -0,0 +1,1081 @@ +%if 0%{?rhel} +%define with_private_llvm 1 +%else +%define with_private_llvm 0 +%endif + +%define with_vdpau 1 +%define with_wayland 1 + +%ifnarch ppc +%define with_radeonsi 1 +%endif + +%ifarch %{arm} aarch64 +%define with_freedreno 1 +%endif + +# S390 doesn't have video cards, but we need swrast for xserver's GLX +# llvm (and thus llvmpipe) doesn't actually work on ppc32 or s390 + +%ifnarch s390 ppc +%define with_llvm 1 +%endif + +%ifarch s390 s390x +%define with_hardware 0 +%ifarch s390 +%define base_drivers swrast +%endif +%else +%define with_hardware 1 +%define base_drivers nouveau,radeon,r200 +%define base_vulkan_drivers radeon +%ifarch %{ix86} x86_64 +%define platform_drivers ,i915,i965 +%define with_vmware 1 +%define platform_vulkan_drivers ,intel +%endif +%ifarch ppc +%define platform_drivers ,swrast +%endif +%endif + +%ifarch %{ix86} x86_64 ppc64le +%define with_vulkan 1 +%else +%define with_vulkan 0 +%endif + +%define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers} + +%if 0%{?with_vulkan} +%define vulkan_drivers --with-vulkan-drivers=%{?base_vulkan_drivers}%{?platform_vulkan_drivers} +%endif + +%define _default_patch_fuzz 2 + +#define gitdate 20180530 +#% define snapshot + +Summary: Mesa graphics libraries +Name: mesa +Version: 18.3.4 +Release: 5%{?dist} +License: MIT +Group: System Environment/Libraries +URL: http://www.mesa3d.org + +Source0: mesa-%{version}.tar.xz +#Source0: %{name}-%{gitdate}.tar.xz +Source1: sanitize-tarball.sh +Source2: make-release-tarball.sh +Source3: make-git-snapshot.sh + +# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license. +# Source4 contains email correspondence clarifying the license terms. +# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. +Source4: Mesa-MLAA-License-Clarification-Email.txt + +Patch1: nv50-fix-build.patch + +# fix some timeout mismatch warnings (backport from upstream) +Patch3: fix-timeout-warnings.patch + +# Fix dri shm leak +Patch4: 0001-glx-fix-shared-memory-leak-in-X11.patch +# fix remove shm +Patch5: fix-llvmpipe-remote-shm.patch + +Patch12: mesa-8.0.1-fix-16bpp.patch +Patch15: mesa-9.2-hardware-float.patch +Patch20: mesa-10.2-evergreen-big-endian.patch +Patch21: 0001-pkgconfig-Fix-gl.pc-when-glvnd-is-enabled.patch + +BuildRequires: pkgconfig autoconf automake libtool +%if %{with_hardware} +BuildRequires: kernel-headers +BuildRequires: xorg-x11-server-devel +%endif +BuildRequires: libatomic +BuildRequires: libdrm-devel >= 2.4.83 +BuildRequires: libXxf86vm-devel +BuildRequires: expat-devel +BuildRequires: xorg-x11-proto-devel +BuildRequires: makedepend +BuildRequires: libselinux-devel +BuildRequires: libXext-devel +BuildRequires: libXfixes-devel +BuildRequires: libXdamage-devel +BuildRequires: libXi-devel +BuildRequires: libXmu-devel +BuildRequires: libXrandr-devel +BuildRequires: libxshmfence-devel +BuildRequires: elfutils +BuildRequires: python +BuildRequires: python-mako +BuildRequires: gettext +%if 0%{?with_llvm} +%if 0%{?with_private_llvm} +BuildRequires: llvm-private-devel >= 6.0 +%else +BuildRequires: llvm-devel >= 3.0 +%endif +%endif +BuildRequires: elfutils-libelf-devel +BuildRequires: libxml2-python +BuildRequires: libudev-devel +BuildRequires: bison flex +%if %{with wayland} +BuildRequires: pkgconfig(wayland-client) >= 1.11 +BuildRequires: pkgconfig(wayland-server) >= 1.11 +BuildRequires: pkgconfig(wayland-protocols) >= 1.8.0 +%endif +# BuildRequires: mesa-libGL-devel +%if 0%{?with_vdpau} +BuildRequires: libvdpau-devel +%endif +BuildRequires: zlib-devel +BuildRequires: libglvnd-devel + +%description +Mesa + +%package libGL +Summary: Mesa libGL runtime libraries and DRI drivers +Group: System Environment/Libraries +Provides: libGL +Requires: mesa-libglapi = %{version}-%{release} +Requires: libdrm >= 2.4.83 +Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.7 + +%description libGL +Mesa libGL runtime library. + +%package libEGL +Summary: Mesa libEGL runtime libraries +Group: System Environment/Libraries +Requires: mesa-libgbm = %{version}-%{release} +Requires: libglvnd-egl%{?_isa} + +%description libEGL +Mesa libEGL runtime libraries + +%package libGLES +Summary: Mesa libGLES runtime libraries +Group: System Environment/Libraries +Requires: mesa-libglapi = %{version}-%{release} +Requires: libglvnd-gles%{?_isa} + +%description libGLES +Mesa GLES runtime libraries + +%package filesystem +Summary: Mesa driver filesystem +Group: User Interface/X Hardware Support +Provides: mesa-dri-filesystem = %{version}-%{release} +Obsoletes: mesa-dri-filesystem < %{version}-%{release} +%description filesystem +Mesa driver filesystem + +%package khr-devel +Summary: Mesa Khronos development headers +%description khr-devel +%{summary} + +%package dri-drivers +Summary: Mesa-based DRI drivers +Group: User Interface/X Hardware Support +Requires: mesa-filesystem%{?_isa} +Requires: libdrm >= 2.4.83 +Obsoletes: mesa-dri1-drivers < 7.12 +Obsoletes: mesa-dri-llvmcore <= 7.12 +%description dri-drivers +Mesa-based DRI drivers. + +%if 0%{?with_vdpau} +%package vdpau-drivers +Summary: Mesa-based DRI drivers +Group: User Interface/X Hardware Support +Requires: mesa-filesystem%{?_isa} +%description vdpau-drivers +Mesa-based VDPAU drivers. +%endif + +%package libGL-devel +Summary: Mesa libGL development package +Group: Development/Libraries +Requires: mesa-libGL = %{version}-%{release} +Requires: gl-manpages +Requires: libglvnd-devel%{?_isa} +Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: libGL-devel + +%description libGL-devel +Mesa libGL development package + +%package libEGL-devel +Summary: Mesa libEGL development package +Group: Development/Libraries +Requires: mesa-libEGL = %{version}-%{release} +Requires: libglvnd-devel%{?_isa} +Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: khrplatform-devel = %{version}-%{release} +Obsoletes: khrplatform-devel < %{version}-%{release} + +%description libEGL-devel +Mesa libEGL development package + +%package libGLES-devel +Summary: Mesa libGLES development package +Group: Development/Libraries +Requires: mesa-libGLES = %{version}-%{release} +Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libglvnd-devel%{?_isa} + +%description libGLES-devel +Mesa libGLES development package + + +%package libOSMesa +Summary: Mesa offscreen rendering libraries +Group: System Environment/Libraries +Provides: libOSMesa +Requires: mesa-libglapi = %{version}-%{release} + +%description libOSMesa +Mesa offscreen rendering libraries + + +%package libOSMesa-devel +Summary: Mesa offscreen rendering development package +Group: Development/Libraries +Requires: mesa-libOSMesa = %{version}-%{release} + +%description libOSMesa-devel +Mesa offscreen rendering development package + + +%package libgbm +Summary: Mesa gbm library +Group: System Environment/Libraries +Provides: libgbm +Requires: libdrm >= 2.4.83 +Requires: mesa-libglapi = %{version}-%{release} + +%description libgbm +Mesa gbm runtime library. + + +%package libgbm-devel +Summary: Mesa libgbm development package +Group: Development/Libraries +Requires: mesa-libgbm%{?_isa} = %{version}-%{release} +Provides: libgbm-devel + +%description libgbm-devel +Mesa libgbm development package + + +%if %{with wayland} +%package libwayland-egl +Summary: Mesa libwayland-egl library +Group: System Environment/Libraries +Provides: libwayland-egl + +%description libwayland-egl +Mesa libwayland-egl runtime library. + + +%package libwayland-egl-devel +Summary: Mesa libwayland-egl development package +Group: Development/Libraries +Requires: mesa-libwayland-egl%{?_isa} = %{version}-%{release} +Provides: libwayland-egl-devel + +%description libwayland-egl-devel +Mesa libwayland-egl development package +%endif + + +%if 0%{?with_vmware} +%package libxatracker +Summary: Mesa XA state tracker for vmware +Group: System Environment/Libraries +Provides: libxatracker + +%description libxatracker +Mesa XA state tracker for vmware + +%package libxatracker-devel +Summary: Mesa XA state tracker development package +Group: Development/Libraries +Requires: mesa-libxatracker%{?_isa} = %{version}-%{release} +Provides: libxatracker-devel + +%description libxatracker-devel +Mesa XA state tracker development package +%endif + +%package libglapi +Summary: Mesa shared glapi +Group: System Environment/Libraries + +%description libglapi +Mesa shared glapi + +%if 0%{?with_vulkan} +%package vulkan-drivers +Summary: Mesa Vulkan drivers +Requires: vulkan%{_isa} + +%description vulkan-drivers +The drivers with support for the Vulkan API. +%endif + +%prep +%setup -q -n mesa-%{version}%{?snapshot} +#setup -q -n mesa-%{gitdate} +# make sure you run sanitize-tarball.sh on mesa source tarball or next line will exit +grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1 +%patch1 -p1 -b .nv50rtti +%patch3 -p1 -b .timeout +%patch4 -p1 -b .shmleak +%patch5 -p1 -b .shmremote + +#patch12 -p1 -b .16bpp + +%patch15 -p1 -b .hwfloat +#patch20 -p1 -b .egbe +#%patch21 -p1 -b .glpc + +%if 0%{with_private_llvm} +sed -i 's/\[llvm-config\]/\[llvm-private-config-%{__isa_bits}\]/g' configure.ac +sed -i 's/`$LLVM_CONFIG --version`/$LLVM_VERSION_MAJOR.$LLVM_VERSION_MINOR-rhel/' configure.ac +%endif + +# need to use libdrm_nouveau2 on F17 +%if !0%{?rhel} +%if 0%{?fedora} < 18 +sed -i 's/\/&2/' configure.ac +%endif +%endif + +cp %{SOURCE4} docs/ + +%build + +autoreconf --install + +export CFLAGS="$RPM_OPT_FLAGS" +# C++ note: we never say "catch" in the source. we do say "typeid" once, +# in an assert, which is patched out above. LLVM doesn't use RTTI or throw. +# +# We do say 'catch' in the clover and d3d1x state trackers, but we're not +# building those yet. +export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions" +%ifarch %{ix86} +# i do not have words for how much the assembly dispatch code infuriates me +%define asm_flags --disable-asm +%endif + +%configure \ + %{?asm_flags} \ + --enable-libglvnd \ + --enable-selinux \ + --enable-osmesa \ + --with-dri-driverdir=%{_libdir}/dri \ + --enable-egl \ + --disable-gles1 \ + --enable-gles2 \ + --disable-xvmc \ + %{?with_vdpau:--enable-vdpau} \ + --with-egl-platforms=x11,drm%{?with_wayland:,wayland} \ + --enable-shared-glapi \ + --enable-gbm \ + --disable-opencl \ + --enable-glx-tls \ + --enable-texture-float=yes \ +%if %{with_vulkan} + %{?vulkan_drivers} \ +%endif + %{?with_llvm:--enable-gallium-llvm} \ + --enable-dri \ +%if %{with_hardware} + %{?with_vmware:--enable-xa} \ + --with-gallium-drivers=%{?with_vmware:svga,}%{?with_radeonsi:radeonsi,}%{?with_llvm:swrast,r600,r300,}%{?with_freedreno:freedreno,}nouveau,virgl \ +%else + --with-gallium-drivers=%{?with_llvm:swrast} \ +%endif + %{?dri_drivers} + +make %{?_smp_mflags} MKDEP=/bin/true + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT + +%if 0%{?rhel} +# remove pre-DX9 drivers +rm -f $RPM_BUILD_ROOT%{_libdir}/dri/{radeon,r200,nouveau_vieux}_dri.* +# remove r300 vdpau +rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_r300.* +%endif + +%if !%{with_hardware} +rm -f $RPM_BUILD_ROOT%{_sysconfdir}/drirc +%endif + +# libvdpau opens the versioned name, don't bother including the unversioned +rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/*.so +# likewise glvnd +rm -f %{buildroot}%{_libdir}/libGLX_mesa.so +rm -f %{buildroot}%{_libdir}/libEGL_mesa.so +# XXX can we just not build this +rm -f %{buildroot}%{_libdir}/libGLES* + +# XXX wayland-egl? + +# glvnd needs a default provider for indirect rendering where it cannot +# determine the vendor +ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 + +# strip out useless headers +rm -f $RPM_BUILD_ROOT%{_includedir}/GL/w*.h + +rm -rf $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/ + +rm -f $RPM_BUILD_ROOT%{_includedir}/vulkan/vulkan_intel.h + +# remove .la files +find $RPM_BUILD_ROOT -name \*.la | xargs rm -f + +# this keeps breaking, check it early. note that the exit from eu-ftr is odd. +pushd $RPM_BUILD_ROOT%{_libdir} +for i in libOSMesa*.so libGL.so ; do + eu-findtextrel $i && exit 1 +done +popd + +%clean +rm -rf $RPM_BUILD_ROOT + +%check + +%post libGL -p /sbin/ldconfig +%postun libGL -p /sbin/ldconfig +%post libOSMesa -p /sbin/ldconfig +%postun libOSMesa -p /sbin/ldconfig +%post libEGL -p /sbin/ldconfig +%postun libEGL -p /sbin/ldconfig +%post libGLES -p /sbin/ldconfig +%postun libGLES -p /sbin/ldconfig +%post libglapi -p /sbin/ldconfig +%postun libglapi -p /sbin/ldconfig +%post libgbm -p /sbin/ldconfig +%postun libgbm -p /sbin/ldconfig +%if 0%{?with_vmware} +%post libxatracker -p /sbin/ldconfig +%postun libxatracker -p /sbin/ldconfig +%endif + +%files khr-devel +%dir %{_includedir}/KHR +%{_includedir}/KHR/khrplatform.h + +%files libGL +%defattr(-,root,root,-) +%{_libdir}/libGLX_mesa.so.0* +%{_libdir}/libGLX_system.so.0* + +%files libEGL +%defattr(-,root,root,-) +%{_datadir}/glvnd/egl_vendor.d/50_mesa.json +%{_libdir}/libEGL_mesa.so.0* + +%files libGLES +%defattr(-,root,root,-) +# no files, all provided by libglvnd + +%files filesystem +%defattr(-,root,root,-) +%doc docs/Mesa-MLAA-License-Clarification-Email.txt +%dir %{_libdir}/dri +%if %{with_hardware} +%if 0%{?with_vdpau} +%dir %{_libdir}/vdpau +%endif +%endif + +%files libglapi +%{_libdir}/libglapi.so.0 +%{_libdir}/libglapi.so.0.* + +%files dri-drivers +%defattr(-,root,root,-) +%dir %{_datadir}/drirc.d +%{_datadir}/drirc.d/00-mesa-defaults.conf +%if %{with_hardware} +%if !0%{?rhel} +%{_libdir}/dri/radeon_dri.so +%{_libdir}/dri/r200_dri.so +%{_libdir}/dri/nouveau_vieux_dri.so +%endif +%if 0%{?with_llvm} +%{_libdir}/dri/r300_dri.so +%{_libdir}/dri/r600_dri.so +%if 0%{?with_radeonsi} +%{_libdir}/dri/radeonsi_dri.so +%endif +%endif +%ifarch %{ix86} x86_64 +%{_libdir}/dri/i915_dri.so +%{_libdir}/dri/i965_dri.so +%endif +%if 0%{?with_freedreno} +%{_libdir}/dri/kgsl_dri.so +%{_libdir}/dri/msm_dri.so +%endif +%{_libdir}/dri/nouveau_dri.so +%{_libdir}/dri/virtio_gpu_dri.so +%if 0%{?with_vmware} +%{_libdir}/dri/vmwgfx_dri.so +%endif +%endif +# this is funky; it doesn't get built for gallium drivers, so it doesn't +# exist on s390x where swrast is llvmpipe, but does exist on s390 where +# swrast is classic mesa. this seems like a bug? in that it probably +# means the gallium drivers are linking dricore statically? fixme. +%{_libdir}/dri/swrast_dri.so +%if 0%{?with_llvm} +%{_libdir}/dri/kms_swrast_dri.so +%endif + +%if %{with_hardware} +%if 0%{?with_vdpau} +%files vdpau-drivers +%defattr(-,root,root,-) +%{_libdir}/vdpau/libvdpau_nouveau.so.1* +%if 0%{?with_llvm} +%{_libdir}/vdpau/libvdpau_r600.so.1* +%{_libdir}/vdpau/libvdpau_radeonsi.so.1* +%endif +%endif +%endif + +%files libGL-devel +%defattr(-,root,root,-) +%{_includedir}/GL/gl.h +%{_includedir}/GL/glcorearb.h +%{_includedir}/GL/gl_mangle.h +%{_includedir}/GL/glext.h +%{_includedir}/GL/glx.h +%{_includedir}/GL/glx_mangle.h +%{_includedir}/GL/glxext.h +%dir %{_includedir}/GL/internal +%{_includedir}/GL/internal/dri_interface.h +%{_libdir}/pkgconfig/dri.pc +%{_libdir}/libglapi.so +%{_libdir}/pkgconfig/gl.pc + +%files libEGL-devel +%defattr(-,root,root,-) +%dir %{_includedir}/EGL +%{_includedir}/EGL/eglext.h +%{_includedir}/EGL/egl.h +%{_includedir}/EGL/eglmesaext.h +%{_includedir}/EGL/eglextchromium.h +%{_includedir}/EGL/eglplatform.h +%{_libdir}/pkgconfig/egl.pc + +%files libGLES-devel +%defattr(-,root,root,-) +%dir %{_includedir}/GLES2 +%dir %{_includedir}/GLES3 +%{_includedir}/GLES2/gl2platform.h +%{_includedir}/GLES2/gl2.h +%{_includedir}/GLES2/gl2ext.h +%{_includedir}/GLES3/gl3platform.h +%{_includedir}/GLES3/gl3.h +%{_includedir}/GLES3/gl31.h +%{_includedir}/GLES3/gl32.h +%{_includedir}/GLES3/gl3ext.h +%{_libdir}/pkgconfig/glesv2.pc + +%files libOSMesa +%defattr(-,root,root,-) +%{_libdir}/libOSMesa.so.8* + +%files libOSMesa-devel +%defattr(-,root,root,-) +%dir %{_includedir}/GL +%{_includedir}/GL/osmesa.h +%{_libdir}/libOSMesa.so +%{_libdir}/pkgconfig/osmesa.pc + +%files libgbm +%defattr(-,root,root,-) +%{_libdir}/libgbm.so.1 +%{_libdir}/libgbm.so.1.* + +%files libgbm-devel +%defattr(-,root,root,-) +%{_libdir}/libgbm.so +%{_includedir}/gbm.h +%{_libdir}/pkgconfig/gbm.pc + +%if 0%{?with_vmware} +%files libxatracker +%defattr(-,root,root,-) +%if %{with_hardware} +%{_libdir}/libxatracker.so.2 +%{_libdir}/libxatracker.so.2.* +%endif + +%files libxatracker-devel +%defattr(-,root,root,-) +%if %{with_hardware} +%{_libdir}/libxatracker.so +%{_includedir}/xa_tracker.h +%{_includedir}/xa_composite.h +%{_includedir}/xa_context.h +%{_libdir}/pkgconfig/xatracker.pc +%endif +%endif + +%if 0%{?with_vulkan} +%files vulkan-drivers +%ifarch %{ix86} x86_64 +%{_libdir}/libvulkan_intel.so +%endif +%{_libdir}/libvulkan_radeon.so +%ifarch x86_64 +%{_datadir}/vulkan/icd.d/intel_icd.x86_64.json +%{_datadir}/vulkan/icd.d/radeon_icd.x86_64.json +%endif +%ifarch %{ix86} +%{_datadir}/vulkan/icd.d/intel_icd.i686.json +%{_datadir}/vulkan/icd.d/radeon_icd.i686.json +%endif +%ifarch ppc64le +%{_datadir}/vulkan/icd.d/radeon_icd.powerpc64le.json +%endif +%endif + +%changelog +* Thu Apr 04 2019 Dave Airlie - 18.3.4-5 +- fix remote shm patch + +* Wed Mar 27 2019 Dave Airlie - 18.3.4-4 +- Enable i686 vulkan drivers for 32-bit apps + +* Tue Mar 26 2019 Dave Airlie - 18.3.4-3 +- fix remote shm + +* Fri Mar 01 2019 Dave Airlie - 18.3.4-2 +- add shm fix + +* Tue Feb 19 2019 Dave Airlie - 18.3.4-1 +- mesa 18.3.4 + +* Wed Feb 13 2019 Dave Airlie - 18.3.3-2 +- Add khr-devel to fix buildroot GL/EGL devel (#1676392) + +* Wed Feb 06 2019 Dave Airlie - 18.3.3-1 +- mesa 18.3.3 + +* Thu Jan 31 2019 Dave Airlie - 18.3.2-1 +- mesa 18.3.2 + +* Sat Dec 15 2018 Dave Airlie - 18.0.5-4 +- disable shm put/get for now it caused regressions + +* Tue Jul 24 2018 Dave Airlie - 18.0.5-3 +- rename fedora to system in glvnd fallback + +* Thu Jul 19 2018 Dave Airlie - 18.0.5-2 +- Fix timeout overflow warnings (backport from upstream + virgl) + +* Wed Jun 20 2018 Adam Jackson - 18.0.5-1 +- Mesa 18.0.5 + +* Wed May 30 2018 Dave Airlie - 18.0.3-5.20180508 +- Fix gl.pc when using glvnd +- Fix subpackage dependencies for glvnd + +* Fri May 25 2018 Adam Jackson - 18.0.3-2.20180508 +- Use glvnd + +* Tue May 08 2018 Dave Airlie 18.0.3-1.20180508 +- rebase to 18.0.3 + +* Wed Apr 18 2018 Adam Jackson - 17.2.3-9 +- Rebuild for new llvm + +* Mon Jan 15 2018 Dave Airlie - 17.2.3-8.20171019 +- Add missing Intel CFL ids. + +* Thu Nov 30 2017 Lyude Paul - 17.2.3-7.20171019 +- Add patches to fix cache lines with DRI_PRIME + amdgpu (#1503861) + +* Fri Nov 17 2017 Dave Airlie - 17.2.3-6.20171019 +- fix libgbm/dri-drivers requires on libdrm + +* Wed Oct 25 2017 Yaakov Selkowitz - 17.2.3-5.20171019 +- Enable hardware drivers on aarch64 (#1358444) + +* Tue Oct 24 2017 Dave Airlie - 17.2.3-4.20171019 +- Update gitdate and clean out sources. + +* Tue Oct 24 2017 Dave Airlie - 17.2.3-3.20171019 +- Add final 17.2.3 patch. + +* Thu Oct 19 2017 Tom Stellard - 17.2.3-2.20171019 +- Switch to llvm-private + +* Thu Oct 19 2017 Dave Airlie - 17.2.3-1.20171019 +- rebase to 17.2.3 + +* Thu Oct 05 2017 Dave Airlie - 17.2.2-1.20171005 +- rebase to 17.2.2 final release + s3tc support + +* Thu Sep 28 2017 Olivier Fourdan - 17.2.0-2.20170911 +- Enable wayland-egl, add dependencies on wayland-protocols (#1481412) + +* Mon Sep 11 2017 Dave Airlie - 17.2.0-1.20170911 +- rebase to 17.2.0 final release + +* Tue Aug 15 2017 Dave Airlie - 17.2.0-0.1.20170815 +- rebase to 17.2-rc4 + +* Thu May 11 2017 Dave Airlie - 17.0.1-6.20170307 +- enable VDPAU drivers (#1297276) + +* Tue May 09 2017 Tom Stellard - 17.0.1-5.20170307 +- Use correct datalayout for llvmpipe (#1445423) + +* Fri May 05 2017 Adam Jackson - 17.0.1-4.20170307 +- Add ppc64le vulkan build + +* Wed May 03 2017 Lyude Paul - 17.0.1-3.20170307 +- Add temporary revert for #1438891 + +* Tue Mar 28 2017 Dave Airlie - 17.0.1-2.20170307 +- Allow compat shaders override. (#1429813) + +* Tue Mar 07 2017 Dave Airlie - 17.0.1-1.20170307 +- mesa 17.0.1 release + +* Tue Feb 28 2017 Dave Airlie - 17.0.0-2.20170215 +- enable more drivers on aarch64 + vulkan drivers (#1358444) + +* Wed Feb 15 2017 Dave Airlie - 17.0.0-1.20170215 +- mesa 17.0.0 release + +* Mon Feb 06 2017 Adam Jackson - 17.0.0-0.2.20170123 +- Rebuild against (and BuildRequire) mesa-private-llvm >= 3.9 + +* Mon Jan 23 2017 Dave Airlie - 17.0.0-0.1.20170123 +- mesa 17.0.0-rc1 + +* Tue Aug 09 2016 Rob Clark - 11.2.2-2.20160614 +- update kbl pci ids. + +* Tue Jun 14 2016 Dave Airlie - 11.2.2-1.20160614 +- mesa 11.2.2 release + +* Tue Apr 05 2016 Dave Airlie 11.2.0-1.20160405 +- mesa 11.2.0 final release + +* Thu Mar 10 2016 Dave Airlie 11.2.0-0.2.20160310 +- mesa 11.2.0-rc2 release + enable virgl + +* Thu Sep 17 2015 Oded Gabbay 10.6.5-3.20150824 +- Fix texture compression for big-endian (#1250168) + +* Wed Sep 16 2015 Oded Gabbay 10.6.5-2.20150824 +- Fix llvmpipe implicit conversion for POWER (#1261988) + +* Mon Aug 24 2015 Oded Gabbay 10.6.5-1.20150824 +- mesa 10.6.5 release + +* Tue Jun 16 2015 Dave Airlie 10.6.0-1.20150616 +- mesa 10.6.0 release + +* Thu May 28 2015 Dave Airlie 10.6.0-0.3.20150528 +- mesa 10.6.0-rc2 + +* Fri May 22 2015 Dave Airlie 10.6.0-0.2.20150521 +- rebuild for ppc64le relro issue + +* Thu May 21 2015 Dave Airlie 10.6.0-0.1.20150521 +- mesa 10.6.0-rc1 + +* Wed Jan 28 2015 Adam Jackson 10.2.7-5.20140910 +- Fix color clears and colorformat selection on big-endian evergreen + +* Wed Sep 17 2014 Dave Airlie 10.2.7-3.20140910 +- backport regression fix for old x86 cpus + +* Wed Sep 17 2014 Dave Airlie 10.2.7-2.20140910 +- backport upstream big endian format fixes + +* Wed Sep 10 2014 Dave Airlie 10.2.7-1.20140910 +- rebase to latest 10.2.x branch - fixes HSW gnome-shell + +* Tue Sep 09 2014 Adam Jackson 10.2.5-3.20140827 +- Backport a ppc64le fix + +* Wed Aug 27 2014 Adam Jackson 10.2.5-2.20140827 +- Rebuild against llvm 3.5.0rc3 + +* Wed Aug 27 2014 Dave Airlie 10.2.5-1.20140827 +- rebase to 10.2.5 (well .6 in branch has hawaii fixes) + +* Mon Feb 24 2014 Dave Airlie 9.2.5-5.20131218 +- fix GLX attribs against binary drivers (#1064117) + +* Wed Feb 12 2014 Adam Jackson 9.2.5-4.20131218 +- Mass rebuild + +* Fri Jan 24 2014 Daniel Mach - 9.2.5-3.20131218 +- Mass rebuild 2014-01-24 + +* Tue Jan 14 2014 Dave Airlie 9.2.5-2.20131218 +- obsolete correct dri1 drivers package (#1043903) + +* Mon Jan 13 2014 Dave Airlie 9.2.5-1.20131218 +- rebase to final 9.2.5 release + copy sub buffer enable for swrast + +* Fri Dec 27 2013 Daniel Mach - 9.2-5.20131023 +- Mass rebuild 2013-12-27 + +* Wed Nov 06 2013 Dave Airlie 9.2-4.20131023 +- fix build for now on aarch64 + +* Thu Oct 31 2013 Jerome Glisse 9.2-3.20131023 +- Add missing kaveri pci id + +* Wed Oct 23 2013 Jerome Glisse 9.2-2.20131023 +- 9.2 upstream release + fixes from git branch + +* Mon Sep 02 2013 Dave Airlie 9.2-1.20130902 +- 9.2 upstream release + fixes from git branch + +* Tue Jul 23 2013 Adam Jackson 9.2-0.14.20130723 +- Today's git snap of 9.2 branch + +* Sun Jul 14 2013 Kyle McMartin 9.2-0.13.20130610 +- Use LLVM::MCJIT on ARM and AArch64. + +* Mon Jun 17 2013 Adam Jackson 9.2-0.12.20130610 +- Re-enable hardware float support (#975204) + +* Mon Jun 17 2013 Adam Jackson 9.2-0.11.20130610 +- Fix evergreen on big-endian + +* Wed Jun 12 2013 Adam Jackson 9.2-0.10.20130610 +- Fix s390x build +- Fold khrplatform-devel in to libEGL-devel + +* Tue Jun 11 2013 Adam Jackson 9.2-0.9.20130610 +- 0001-Revert-i965-Disable-unused-pipeline-stages-once-at-s.patch: Fix some + hangs on ivb+ + +* Mon Jun 10 2013 Adam Jackson 9.2-0.8.20130610 +- Today's git snap + +* Tue May 28 2013 Adam Jackson 9.2-0.7.20130528 +- Today's git snap + +* Sun May 19 2013 Peter Robinson 9.2-0.6.20130514 +- Update the name of the freedreno driver + +* Fri May 17 2013 Adam Jackson 9.2-0.5.20130514 +- Fix build issues on ppc32 + +* Thu May 16 2013 Adam Jackson 9.2-0.4.20130514 +- Fix yet more build issues on s390{,x} + +* Wed May 15 2013 Adam Jackson 9.2-0.3.20130514 +- Fix build ordering issue on s390x + +* Wed May 15 2013 Adam Jackson 9.2-0.2.20130514 +- Fix filesystem for with_hardware == 0 + +* Tue May 14 2013 Adam Jackson 9.2-0.1.20130514 +- Today's git snap +- Revert to swrast on ppc32 and s390 since llvm doesn't actually work +- Build freedreno on arm +- Drop snb hang workaround (upstream 1dfea559) +- Rename filesystem package + +* Wed May 08 2013 Adam Jackson 9.2-0.1.20130508 +- Switch to Mesa master (pre 9.2) +- Fix llvmpipe on big-endian and enable llvmpipe everywhere +- Build vdpau drivers for r600/radeonsi/nouveau +- Enable hardware floating-point texture support +- Drop GLESv1, nothing's using it, let's not start + +* Sat Apr 27 2013 Dave Airlie 9.1.1-1 +- rebase to Mesa 9.1.1 + fixes from git + +* Thu Apr 11 2013 Dave Airlie 9.1-6 +- enable glx tls for glamor to work properly + +* Thu Apr 04 2013 Adam Jackson 9.1-5 +- Enable llvmpipe even on non-SSE2 machines (#909473) + +* Tue Mar 26 2013 Adam Jackson 9.1-4 +- Fix build with private LLVM + +* Tue Mar 19 2013 Adam Jackson 9.1-3 +- mesa-9.1-53-gd0ccb5b.patch: Sync with today's git + +* Tue Mar 19 2013 Dave Airlie 9.1-2 +- add SNB hang workaround from chromium + +* Fri Mar 08 2013 Adam Jackson 9.1-1 +- Mesa 9.1 + +* Wed Feb 27 2013 Dan Horák - 9.1-0.4 +- /etc/drirc is always created, so exclude it on platforms without hw drivers + +* Tue Feb 26 2013 Adam Jackson 9.1-0.3 +- Fix s390*'s swrast to be classic not softpipe + +* Tue Feb 19 2013 Jens Petersen - 9.1-0.2 +- build against llvm-3.2 +- turn on radeonsi + +* Wed Feb 13 2013 Dave Airlie 9.1-0.1 +- snapshot mesa 9.1 branch + +* Tue Jan 15 2013 Tom Callaway 9.0.1-4 +- clarify license on pp_mlaa* files + +* Thu Dec 20 2012 Adam Jackson 9.0.1-3 +- mesa-9.0.1-22-gd0a9ab2.patch: Sync with git +- Build with -fno-rtti -fno-exceptions, modest size and speed win +- mesa-9.0.1-less-cxx-please.patch: Remove the only use of typeid() so the + above works. + +* Wed Dec 05 2012 Adam Jackson 9.0.1-2 +- Allow linking against a private version of LLVM libs for RHEL7 +- Build with -j again + +* Mon Dec 03 2012 Adam Jackson 9.0.1-1 +- Mesa 9.0.1 + +* Wed Nov 07 2012 Dave Airlie 9.0-5 +- mesa-9.0-19-g895a587.patch: sync with 9.0 branch with git +- drop wayland patch its in git now. + +* Thu Nov 01 2012 Adam Jackson 9.0-4 +- mesa-9.0-18-g5fe5aa8: sync with 9.0 branch in git +- Portability fixes for F17: old wayland, old llvm. + +* Sat Oct 27 2012 Dan Horák 9.0-3 +- gallium drivers must be set explicitely for s390(x) otherwise also r300, r600 and vmwgfx are built + +* Fri Oct 19 2012 Adam Jackson 9.0-2 +- Rebuild for wayland 0.99 + +* Wed Oct 10 2012 Adam Jackson 9.0-1 +- Mesa 9.0 +- mesa-9.0-12-gd56ee24.patch: sync with 9.0 branch in git + +* Wed Oct 10 2012 Adam Jackson 9.0-0.4 +- Switch to external gl-manpages and libGLU +- Drop ShmGetImage fastpath for a bit + +* Mon Oct 01 2012 Dan Horák 9.0-0.3 +- explicit BR: libGL-devel is required on s390(x), it's probbaly brought in indirectly on x86 +- gallium drivers must be set explicitely for s390(x) otherwise also r300, r600 and vmwgfx are built + +* Mon Sep 24 2012 Adam Jackson 9.0-0.2 +- Switch to swrast classic instead of softpipe for non-llvm arches +- Re-disable llvm on ppc until it can draw pixels + +* Mon Sep 24 2012 Dave Airlie 9.0-0.1 +- rebase to latest upstream 9.0 pre-release branch +- add back glu from new upstream (split for f18 later) + +* Fri Sep 14 2012 Dave Airlie 8.1-0.21 +- why fix one yylex when you can fix two + +* Fri Sep 14 2012 Dave Airlie 8.1-0.20 +- fix yylex collision reported on irc by hughsie + +* Mon Aug 27 2012 Adam Jackson 8.1-0.19 +- Today's git snap +- Revert dependency on libkms +- Patch from Mageia to fix some undefined symbols + +* Fri Aug 17 2012 Dave Airlie 8.1-0.18 +- parallel make seems broken - on 16 way machine internally. + +* Thu Aug 16 2012 Dave Airlie 8.1-0.17 +- upstream snapshot + +* Wed Jul 25 2012 Peter Robinson 8.1-0.16 +- Enable LLVM on ARM + +* Wed Jul 25 2012 Peter Robinson 8.1-0.15 +- Fix building on platforms with HW and without LLVM + +* Tue Jul 24 2012 Adam Jackson 8.1-0.14 +- Re-enable llvm on ppc, being worked on +- Don't BuildReq on wayland things in RHEL + +* Mon Jul 23 2012 Adam Jackson 8.1-0.13 +- Build radeonsi (#842194) + +* Fri Jul 20 2012 Fedora Release Engineering - 8.1-0.12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 17 2012 Dave Airlie 8.1-0.11 +- upstream snapshot: fixes build issues + +* Tue Jul 17 2012 Dave Airlie 8.1-0.10 +- snapshot mesa: add some build hackarounds + +* Sat Jul 14 2012 Ville Skyttä - 8.1-0.9 +- Call ldconfig at -libglapi and -libxatracker post(un)install time. +- Drop redundant ldconfig dependencies, let rpm auto-add them. + +* Wed Jun 13 2012 Dave Airlie 8.1-0.8 +- enable shared llvm usage. + +* Thu Jun 07 2012 Adam Jackson 8.1-0.7 +- Disable llvm on non-x86 (#829020) + +* Sun Jun 03 2012 Dave Airlie 8.1-0.6 +- rebase to git master + build on top of llvm 3.1 + +* Thu May 17 2012 Adam Jackson 8.1-0.5 +- mesa-8.0-llvmpipe-shmget.patch: Rediff for 8.1. + +* Thu May 10 2012 Karsten Hopp 8.1-0.4 +- revert disabling of hardware drivers, disable only llvm on PPC* + (#819060) + +* Tue May 01 2012 Adam Jackson 8.1-0.3 +- More RHEL tweaking: no pre-DX7 drivers, no wayland. + +* Thu Apr 26 2012 Karsten Hopp 8.1-0.2 +- move drirc into with_hardware section (Dave Airlie) +- libdricore.so and libglsl.so get built and installed on + non-hardware archs, include them in the file list + +* Thu Apr 26 2012 Adam Jackson 8.1-0.2 +- Don't build vmware stuff on non-x86 (#815444) + +* Tue Apr 24 2012 Richard Hughes 8.0.3-0.1 +- Rebuild with new git snapshot +- Remove upstreamed patches