From 802aff7b82295e4f6617adfac6bc8d18b18e4f1c Mon Sep 17 00:00:00 2001 From: wiz Date: Wed, 27 Jan 2016 07:39:54 +0000 Subject: Update MesaLib to 11.1.1. Add patches from xsrc: atexit() is not a good idea in shared libraries. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: Bug fixes This list is likely incomplete. Bug 91806 - configure does not test whether assembler supports sse4.1 Bug 92229 - [APITRACE] SOMA have serious graphical errors Bug 92233 - Unigine Heaven 4.0 silhuette run Bug 93004 - Guild Wars 2 crash on nouveau DX11 cards Bug 93215 - [Regression bisected] Ogles1conform Automatic mipmap generation test is fail Bug 93257 - [SKL, bisected] ASTC dEQP tests segfault Changes Brian Paul (1): st/mesa: check state->mesa in early return check in st_validate_state() Dave Airlie (6): mesa/varray: set double arrays to non-normalised. mesa/shader: return correct attribute location for double matrix arrays glsl: pass stage into mark function glsl/fp64: add helper for dual slot double detection. glsl: fix count_attribute_slots to allow for different 64-bit handling glsl: only update doubles inputs for vertex inputs. Emil Velikov (4): docs: add sha256 checksums for 11.0.1 cherry-ignore: drop the "re-enable" DCC on Stoney cherry-ignore: don't pick a specific i965 formats patch Update version to 11.1.1 Eric Anholt (2): vc4: Warn instead of abort()ing on exec ioctl failures. vc4: Keep sample mask writes from being reordered after TLB writes Grazvydas Ignotas (1): r600: fix constant buffer size programming Ian Romanick (1): meta/generate_mipmap: Work-around GLES 1.x problem with GL_DRAW_FRAMEBUFFER Ilia Mirkin (9): nv50/ir: can't have predication and immediates gk104/ir: simplify and fool-proof texbar algorithm glsl: assign varying locations to tess shaders when doing SSO glx/dri3: a drawable might not be bound at wait time nvc0: don't forget to reset VTX_TMP bufctx slot after blit completion nv50/ir: float(s32 & 0xff) = float(u8), not s8 nv50,nvc0: make sure there's pushbuf space and that we ref the bo early nv50,nvc0: fix crash when increasing bsp bo size for h264 nvc0: scale up inter_bo size so that it's 16M for a 4K video Jonathan Gray (2): configure.ac: use pkg-config for libelf configure: check for python2.7 for PYTHON2 Kenneth Graunke (5): ralloc: Fix ralloc_adopt() to the old context's last child's parent. drirc: Disable ARB_blend_func_extended for Heaven 4.0/Valley 1.0. glsl: Fix varying struct locations when varying packing is disabled. nvc0: Set winding order regardless of domain. nir: Add a lower_fdiv option, turn fdiv into fmul/frcp. Marek Olšák (7): tgsi/scan: add flag colors_written r600g: write all MRTs only if there is exactly one output (fixes a hang) radeonsi: don't call of u_prims_for_vertices for patches and rectangles radeonsi: apply the streamout workaround to Fiji as well gallium/radeon: fix Hyper-Z hangs by programming PA_SC_MODE_CNTL_1 correctly program: add _mesa_reserve_parameter_storage st/mesa: fix GLSL uniform updates for glBitmap & glDrawPixels (v2) Mark Janes (1): Add missing platform information for KBL Miklós Máté (1): mesa: Don't leak ATIfs instructions in DeleteFragmentShader Neil Roberts (3): i965: Add MESA_FORMAT_B8G8R8X8_SRGB to brw_format_for_mesa_format i965: Add B8G8R8X8_SRGB to the alpha format override i965: Fix crash when calling glViewport with no surface bound Nicolai Hähnle (2): gallium/radeon: only dispose locally created target machine in radeon_llvm_compile gallium/radeon: fix regression in a number of driver queries Oded Gabbay (1): configura.ac: fix test for SSE4.1 assembler support Patrick Rudolph (2): nv50,nvc0: fix use-after-free when vertex buffers are unbound gallium/util: return correct number of bound vertex buffers Rob Herring (1): freedreno/ir3: fix 32-bit builds with pointer-to-int-cast error enabled Samuel Pitoiset (3): nvc0: free memory allocated by the prog which reads MP perf counters nv50,nvc0: free memory allocated by performance metrics nv50: free memory allocated by the prog which reads MP perf counters Sarah Sharp (1): mesa: Add KBL PCI IDs and platform information. --- graphics/MesaLib/Makefile | 4 +-- graphics/MesaLib/distinfo | 17 +++++---- graphics/MesaLib/patches/patch-configure | 28 +++++++-------- .../patches/patch-src_egl_main_eglglobals.c | 40 ++++++++++++++++++++++ .../patch-src_glsl_glsl__parser__extras.cpp | 15 ++++++++ .../MesaLib/patches/patch-src_loader_Makefile.in | 10 +++--- .../patches/patch-src_mesa_main_extensions.c | 24 +++++++++++++ 7 files changed, 110 insertions(+), 28 deletions(-) create mode 100644 graphics/MesaLib/patches/patch-src_egl_main_eglglobals.c create mode 100644 graphics/MesaLib/patches/patch-src_glsl_glsl__parser__extras.cpp create mode 100644 graphics/MesaLib/patches/patch-src_mesa_main_extensions.c (limited to 'graphics/MesaLib') diff --git a/graphics/MesaLib/Makefile b/graphics/MesaLib/Makefile index f56cf1f50ce..d9097453b47 100644 --- a/graphics/MesaLib/Makefile +++ b/graphics/MesaLib/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.119 2016/01/05 13:02:57 tnn Exp $ +# $NetBSD: Makefile,v 1.120 2016/01/27 07:39:54 wiz Exp $ -DISTNAME= mesa-11.1.0 +DISTNAME= mesa-11.1.1 PKGNAME= ${DISTNAME:S/mesa/MesaLib/} CATEGORIES= graphics x11 MASTER_SITES= ftp://ftp.freedesktop.org/pub/mesa/${PKGVERSION_NOREV}/ diff --git a/graphics/MesaLib/distinfo b/graphics/MesaLib/distinfo index 708175b0648..f30727a2b77 100644 --- a/graphics/MesaLib/distinfo +++ b/graphics/MesaLib/distinfo @@ -1,12 +1,13 @@ -$NetBSD: distinfo,v 1.110 2016/01/05 13:02:57 tnn Exp $ +$NetBSD: distinfo,v 1.111 2016/01/27 07:39:54 wiz Exp $ -SHA1 (mesa-11.1.0.tar.xz) = a57c3b741a465cfd189416bb036323d2ec581d94 -RMD160 (mesa-11.1.0.tar.xz) = 386684fe856ab3acfa914fb8809886330c7696c4 -SHA512 (mesa-11.1.0.tar.xz) = 49817dbe599fdeb3e9d69f149283a5414d3101177040e04ec2c07c9bc57c2e86dcd74c0eb9e5784eb74ec5adff01f4fc8fd07fce650ce0afc18c81265e369192 -Size (mesa-11.1.0.tar.xz) = 7557948 bytes -SHA1 (patch-configure) = 3e0c3402bfbc4ad286fe938b8b117add23d51454 +SHA1 (mesa-11.1.1.tar.xz) = 77eeb75660e8d0851457151ef18c87540c6fd6bc +RMD160 (mesa-11.1.1.tar.xz) = 2ebeefdec30be12a32977f46611f0aa28c677c38 +SHA512 (mesa-11.1.1.tar.xz) = 1d41bb4e58042230a38784477c425a2517ef57b17055413884dfb1b7a635a7d8ec68b9be705cbd5608910d75d73988d7c18467c779c48547c5c533750e722521 +Size (mesa-11.1.1.tar.xz) = 7561216 bytes +SHA1 (patch-configure) = c4d69982863b1752891339a9dd3c0c37bc896006 SHA1 (patch-include_GL_glxext.h) = 830902f2d38a8395cda682c059fc5223e1b0e89e SHA1 (patch-src_egl_drivers_dri2_platform__drm.c) = 99b6dd6739c29551ae2c885eabd7babd159fc3e5 +SHA1 (patch-src_egl_main_eglglobals.c) = 2d81ae27f09162d23bc684456cc5fef48c042652 SHA1 (patch-src_gallium_auxiliary_util_u__cpu__detect.c) = 5f4c3db54620739da0fe7dfb57c58728ecbbb6e0 SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = 4d5e4677c2825778c43440ab131b8807f6840975 SHA1 (patch-src_gallium_auxiliary_util_u__math.h) = 812e4a5291aea47e06505f09891e0434c4d9c34d @@ -20,11 +21,12 @@ SHA1 (patch-src_gallium_winsys_radeon_drm_radeon__drm__winsys.c) = 2358b7d5ea89e SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen.c) = 4b2ae565377b1a0396c8bf6b2663c261592b8e5e SHA1 (patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c) = e4b891e8b4ebe5b8e8c7b8c2c1dbed11b9c417df SHA1 (patch-src_gbm_main_gbm.c) = 70225ab7352f123c9efc68b6d4ff0d9675b6f9dc +SHA1 (patch-src_glsl_glsl__parser__extras.cpp) = eb05a70782edb0ccb82c04ef17de60352c840268 SHA1 (patch-src_glsl_ralloc.c) = 7443d00ff05ee1e1dcfa2b76972b55abadebcad8 SHA1 (patch-src_glx_apple_apple__glapi.c) = df70afc24759978f954ac3a774a14e6518dde97a SHA1 (patch-src_glx_glxclient.h) = e15256851559dafb7a86e1eb7e9d6afc86de581b SHA1 (patch-src_glx_glxcurrent.c) = 713f75bcafb186c7123d19a6aae3deaed9d5fa69 -SHA1 (patch-src_loader_Makefile.in) = be0eb34d814366c14ba5165b8081d18f37d262eb +SHA1 (patch-src_loader_Makefile.in) = 30454c207924183c881a84d31458fdc0ddb1680b SHA1 (patch-src_loader_loader.c) = f99b13451f4f932031e876cd611ab746ec5caf1b SHA1 (patch-src_mapi_entry__x86-64__tls.h) = e1cc896dd9cf7d77b837104557c0e0bf9d41ff55 SHA1 (patch-src_mapi_entry__x86__tls.h) = 3d6c11281b57c9c713899022bfc8fcea54d07d56 @@ -39,6 +41,7 @@ SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = fd8436e4e3a69250256c2cd SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 7c1a1e5c549f64d4c390e0c87984c44a88d4abfe SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = b8a6cca517e1cccbdb2c59cf67a6d2481cdfebd4 SHA1 (patch-src_mesa_main_context.c) = 695b0e04cbd08dfed46b4dae5f9602b35e21f5b3 +SHA1 (patch-src_mesa_main_extensions.c) = d650d7ddfe22ddbcd8a4c24b64feb27126521ae0 SHA1 (patch-src_mesa_main_macros.h) = e0e98dff37bbf96fea2f3adf0dc9ef9911b711d9 SHA1 (patch-src_mesa_main_shader__query.cpp) = 6273c74161f045363c58f38adeb672287f6a0898 SHA1 (patch-src_mesa_tnl_t__pipeline.c) = afc7d5f27aeadacc7c6a762e5aa892e01a0c1317 diff --git a/graphics/MesaLib/patches/patch-configure b/graphics/MesaLib/patches/patch-configure index fd42b657885..12de9213e20 100644 --- a/graphics/MesaLib/patches/patch-configure +++ b/graphics/MesaLib/patches/patch-configure @@ -1,11 +1,11 @@ -$NetBSD: patch-configure,v 1.3 2016/01/05 13:02:57 tnn Exp $ +$NetBSD: patch-configure,v 1.4 2016/01/27 07:39:54 wiz Exp $ Make sure toolchain can assemble SSE stuff in addition to having intrinsics. Add libdevq support from FreeBSD ports. ---- configure.orig 2015-12-15 14:52:26.000000000 +0000 +--- configure.orig 2016-01-13 10:48:25.000000000 +0000 +++ configure -@@ -859,6 +859,8 @@ GLPROTO_LIBS +@@ -860,6 +860,8 @@ GLPROTO_LIBS GLPROTO_CFLAGS XLIBGL_LIBS XLIBGL_CFLAGS @@ -14,7 +14,7 @@ Add libdevq support from FreeBSD ports. LIBUDEV_LIBS LIBUDEV_CFLAGS ENABLE_SHADER_CACHE_FALSE -@@ -1173,6 +1175,8 @@ OPENSSL_CFLAGS +@@ -1174,6 +1176,8 @@ OPENSSL_CFLAGS OPENSSL_LIBS LIBUDEV_CFLAGS LIBUDEV_LIBS @@ -23,7 +23,7 @@ Add libdevq support from FreeBSD ports. XLIBGL_CFLAGS XLIBGL_LIBS GLPROTO_CFLAGS -@@ -5281,6 +5285,7 @@ DRI2PROTO_REQUIRED=2.6 +@@ -5287,6 +5291,7 @@ DRI2PROTO_REQUIRED=2.6 DRI3PROTO_REQUIRED=1.0 PRESENTPROTO_REQUIRED=1.0 LIBUDEV_REQUIRED=151 @@ -31,16 +31,16 @@ Add libdevq support from FreeBSD ports. GLPROTO_REQUIRED=1.4.14 LIBOMXIL_BELLAGIO_REQUIRED=0.0 LIBVA_REQUIRED=0.38.0 -@@ -19935,7 +19940,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ - #include +@@ -19942,7 +19947,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ + int param; int main () { - __m128i a = _mm_set1_epi32 (0), b = _mm_set1_epi32 (0), c; + __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; - c = _mm_max_epu32(a, b); + c = _mm_max_epu32(a, b); asm volatile ("movntdqa (%esi),%xmm3\n"); - return 0; + return _mm_cvtsi128_si32(c); } _ACEOF -@@ -20720,7 +20725,7 @@ _ACEOF +@@ -20727,7 +20732,7 @@ _ACEOF $as_echo_n "checking if more special flags are required for pthreads... " >&6; } flag=no case ${host_os} in @@ -49,7 +49,7 @@ Add libdevq support from FreeBSD ports. osf* | hpux*) flag="-D_REENTRANT";; solaris*) if test "$GCC" = "yes"; then -@@ -22080,6 +22085,89 @@ else +@@ -22087,6 +22092,89 @@ else fi @@ -139,7 +139,7 @@ Add libdevq support from FreeBSD ports. if test "x$enable_dri" = xyes; then if test "$enable_static" = yes; then as_fn_error $? "Cannot use static libraries for DRI drivers" "$LINENO" 5 -@@ -22882,6 +22970,10 @@ if test "$have_sysfs" = yes; then +@@ -22889,6 +22977,10 @@ if test "$have_sysfs" = yes; then DEFINES="$DEFINES -DHAVE_SYSFS" have_pci_id=yes fi @@ -150,7 +150,7 @@ Add libdevq support from FreeBSD ports. # This is outside the case (above) so that it is invoked even for non-GLX # builds. -@@ -23814,6 +23906,8 @@ fi +@@ -23821,6 +23913,8 @@ fi if test "x$need_pci_id$have_libudev" = xyesyes; then GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED" @@ -159,7 +159,7 @@ Add libdevq support from FreeBSD ports. else GBM_PC_REQ_PRIV="" fi -@@ -25381,9 +25475,6 @@ fi +@@ -25468,9 +25562,6 @@ fi CLANG_LIBDIR=${LLVM_LIBDIR} fi CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} diff --git a/graphics/MesaLib/patches/patch-src_egl_main_eglglobals.c b/graphics/MesaLib/patches/patch-src_egl_main_eglglobals.c new file mode 100644 index 00000000000..7c1a4ab749b --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_egl_main_eglglobals.c @@ -0,0 +1,40 @@ +$NetBSD: patch-src_egl_main_eglglobals.c,v 1.1 2016/01/27 07:39:54 wiz Exp $ + +atexit() is not a good idea in shared libraries. + +--- src/egl/main/eglglobals.c.orig 2015-11-28 17:37:59.000000000 +0000 ++++ src/egl/main/eglglobals.c +@@ -59,11 +59,16 @@ struct _egl_global _eglGlobal = + " EGL_MESA_platform_gbm" + }; + ++static EGLBoolean registered = EGL_FALSE; + +-static void ++static void __attribute__((__destructor__)) + _eglAtExit(void) + { + EGLint i; ++ ++ if (!registered) ++ return; ++ + for (i = _eglGlobal.NumAtExitCalls - 1; i >= 0; i--) + _eglGlobal.AtExitCalls[i](); + } +@@ -73,14 +78,9 @@ void + _eglAddAtExitCall(void (*func)(void)) + { + if (func) { +- static EGLBoolean registered = EGL_FALSE; +- + mtx_lock(_eglGlobal.Mutex); + +- if (!registered) { +- atexit(_eglAtExit); +- registered = EGL_TRUE; +- } ++ registered = EGL_TRUE; + + assert(_eglGlobal.NumAtExitCalls < ARRAY_SIZE(_eglGlobal.AtExitCalls)); + _eglGlobal.AtExitCalls[_eglGlobal.NumAtExitCalls++] = func; diff --git a/graphics/MesaLib/patches/patch-src_glsl_glsl__parser__extras.cpp b/graphics/MesaLib/patches/patch-src_glsl_glsl__parser__extras.cpp new file mode 100644 index 00000000000..3d6544b5aad --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_glsl_glsl__parser__extras.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-src_glsl_glsl__parser__extras.cpp,v 1.1 2016/01/27 07:39:54 wiz Exp $ + +atexit() is not a good idea in shared libraries. + +--- src/glsl/glsl_parser_extras.cpp.orig 2016-01-07 16:17:53.000000000 +0000 ++++ src/glsl/glsl_parser_extras.cpp +@@ -1967,7 +1967,7 @@ extern "C" { + * programs would be invalid. So this should happen at approximately + * program exit. + */ +-void ++void __attribute__((__destructor__)) + _mesa_destroy_shader_compiler(void) + { + _mesa_destroy_shader_compiler_caches(); diff --git a/graphics/MesaLib/patches/patch-src_loader_Makefile.in b/graphics/MesaLib/patches/patch-src_loader_Makefile.in index fbe4e251135..7a9011dbe89 100644 --- a/graphics/MesaLib/patches/patch-src_loader_Makefile.in +++ b/graphics/MesaLib/patches/patch-src_loader_Makefile.in @@ -1,10 +1,10 @@ -$NetBSD: patch-src_loader_Makefile.in,v 1.3 2016/01/05 13:02:57 tnn Exp $ +$NetBSD: patch-src_loader_Makefile.in,v 1.4 2016/01/27 07:39:54 wiz Exp $ FreeBSD & DragonFly support for libdevq. ---- src/loader/Makefile.in.orig 2015-12-15 14:52:32.000000000 +0000 +--- src/loader/Makefile.in.orig 2016-01-13 10:48:30.000000000 +0000 +++ src/loader/Makefile.in -@@ -321,6 +321,8 @@ LEXLIB = @LEXLIB@ +@@ -320,6 +320,8 @@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBCLC_INCLUDEDIR = @LIBCLC_INCLUDEDIR@ LIBCLC_LIBEXECDIR = @LIBCLC_LIBEXECDIR@ @@ -12,8 +12,8 @@ FreeBSD & DragonFly support for libdevq. +LIBDEVQ_LIBS = @LIBDEVQ_LIBS@ LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ LIBDRM_LIBS = @LIBDRM_LIBS@ - LIBOBJS = @LIBOBJS@ -@@ -531,7 +533,7 @@ AM_CPPFLAGS = \ + LIBELF_CFLAGS = @LIBELF_CFLAGS@ +@@ -532,7 +534,7 @@ AM_CPPFLAGS = \ $(LIBDRM_CFLAGS) \ $(LIBUDEV_CFLAGS) diff --git a/graphics/MesaLib/patches/patch-src_mesa_main_extensions.c b/graphics/MesaLib/patches/patch-src_mesa_main_extensions.c new file mode 100644 index 00000000000..395d96d7b01 --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_mesa_main_extensions.c @@ -0,0 +1,24 @@ +$NetBSD: patch-src_mesa_main_extensions.c,v 1.1 2016/01/27 07:39:54 wiz Exp $ + +atexit() is not a good idea in shared libraries. + +--- src/mesa/main/extensions.c.orig 2016-01-07 16:17:53.000000000 +0000 ++++ src/mesa/main/extensions.c +@@ -256,7 +256,7 @@ get_extension_override( struct gl_contex + * These strings are allocated early during the first context creation by + * _mesa_one_time_init_extension_overrides. + */ +-static void ++static void __attribute__((__destructor__)) + free_unknown_extensions_strings(void) + { + free(extra_extensions); +@@ -277,7 +277,7 @@ _mesa_one_time_init_extension_overrides( + int len; + size_t offset; + +- atexit(free_unknown_extensions_strings); ++ /* atexit(free_unknown_extensions_strings); */ + + memset(&_mesa_extension_override_enables, 0, sizeof(struct gl_extensions)); + memset(&_mesa_extension_override_disables, 0, sizeof(struct gl_extensions)); -- cgit v1.2.3