pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/graphics/MesaLib18 MesaLib18: Various fixes for the Su...
details: https://anonhg.NetBSD.org/pkgsrc/rev/d61b2c400f19
branches: trunk
changeset: 324362:d61b2c400f19
user: jperkin <jperkin%pkgsrc.org@localhost>
date: Tue Oct 16 15:21:20 2018 +0000
description:
MesaLib18: Various fixes for the SunOS build.
diffstat:
graphics/MesaLib18/Makefile | 7 +-
graphics/MesaLib18/distinfo | 11 +-
graphics/MesaLib18/patches/patch-configure | 4 +-
graphics/MesaLib18/patches/patch-configure.ac | 6 +-
graphics/MesaLib18/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c | 60 +++++++++-
graphics/MesaLib18/patches/patch-src_util_disk__cache.c | 29 ++++
graphics/MesaLib18/patches/patch-src_util_u__atomic.h | 37 +----
7 files changed, 113 insertions(+), 41 deletions(-)
diffs (257 lines):
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/Makefile
--- a/graphics/MesaLib18/Makefile Tue Oct 16 15:18:08 2018 +0000
+++ b/graphics/MesaLib18/Makefile Tue Oct 16 15:21:20 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2018/10/10 10:56:11 maya Exp $
+# $NetBSD: Makefile,v 1.3 2018/10/16 15:21:20 jperkin Exp $
DISTNAME= mesa-18.2.0
PKGNAME= ${DISTNAME:S/mesa/MesaLib/}
@@ -52,8 +52,9 @@
SUBST_FILES.drirc+= src/util/xmlconfig.c
SUBST_SED.drirc+= -e 's|/etc|${PREFIX}/etc|g'
-# Required due to clang defaulting to strict C standard by default (no strdup).
-CFLAGS.SunOS+= -D__EXTENSIONS__
+CFLAGS.SunOS+= -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
+CXXFLAGS.SunOS+= -Drestrict=__restrict__
+LDFLAGS.SunOS+= -lsocket -lnsl
.include "../../mk/bsd.prefs.mk"
.include "../../mk/compiler.mk"
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/distinfo
--- a/graphics/MesaLib18/distinfo Tue Oct 16 15:18:08 2018 +0000
+++ b/graphics/MesaLib18/distinfo Tue Oct 16 15:21:20 2018 +0000
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.2 2018/10/10 11:03:02 maya Exp $
+$NetBSD: distinfo,v 1.3 2018/10/16 15:21:20 jperkin Exp $
SHA1 (mesa-18.2.0.tar.xz) = 73723d9f3815487f474d84eb91a5cd17edfb63d4
RMD160 (mesa-18.2.0.tar.xz) = 51aae6c7a566d7d7da5e545ef3b4f04295897b21
SHA512 (mesa-18.2.0.tar.xz) = e6e997e166845009f6b97da204384758c797c870b56332652c0a2636734638f9180b7e4dbad144495645308ae4d77981a2493a22d57973723338b658e0655557
Size (mesa-18.2.0.tar.xz) = 11331164 bytes
-SHA1 (patch-configure) = c938bc7807a92fb4484d459b401133fb9fd7dbce
-SHA1 (patch-configure.ac) = 8347a3116906b8648a7841a6b109832397bd896e
+SHA1 (patch-configure) = 39093e9c7c2ea503413988ba736c11da68711c1b
+SHA1 (patch-configure.ac) = 8ef8f1d91e905f2b7ee976c8552c03b712bfb139
SHA1 (patch-include_GL_internal_dri__interface.h) = 146d2f3f3e50fc1947e8941301d9cf9d90a035e2
SHA1 (patch-src_amd_vulkan_winsys_amdgpu_radv__amdgpu__cs.c) = 1fe81a7b16e36dc9125400c20543271216a33a45
SHA1 (patch-src_compiler_builtin__type__macros.h) = 857bca0c0f55ec8d7a20b3807c7a5d7bd06bdfbf
@@ -45,7 +45,7 @@
SHA1 (patch-src_mapi_u__current.c) = 38d324fcd1c28d155106ccd248edb5eb1aa9ffac
SHA1 (patch-src_mapi_u__current.h) = 465a992bd34057e9521f0a33e6f2e25cefc145ca
SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = e33f51b3502e8c52ff7283aeb807996717f79f4f
-SHA1 (patch-src_mesa_drivers_dri_i965_brw__performance__query.c) = 43ca8315a4964adf7bc99d772fd817deda3ec249
+SHA1 (patch-src_mesa_drivers_dri_i965_brw__performance__query.c) = 1250b3477c4b8013b928772b7dc7f24e8c4b67aa
SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 795b17970e95347222514bacc0701aa86fa1ff02
SHA1 (patch-src_mesa_drivers_dri_i965_intel__tiled__memcpy.c) = 5b940f9a56c694ffaf8a4383c3a2eae25cfd35a6
SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = 3106f350e590f62c8bd29cd85f24f977639dccdb
@@ -56,9 +56,10 @@
SHA1 (patch-src_mesa_tnl_t__pipeline.c) = e6abcdb24019ca57527d25c5cd86737332db98e3
SHA1 (patch-src_mesa_x86_common__x86.c) = f8c4b93443ef66d017f6aa114b877565b30f2598
SHA1 (patch-src_util_build__id.c) = 7a9547bbda9d2fb9f0018ccf27b70b59e497aa2c
+SHA1 (patch-src_util_disk__cache.c) = cc0b29780dba5d5b5e43c0798336f16a1f0008de
SHA1 (patch-src_util_futex.h) = 35097c3b8baf8b969c6ec5ec1feb6f4e0a48237e
SHA1 (patch-src_util_ralloc.c) = d311bfd9ed7e673d72e050668d351c1e6552cdc8
SHA1 (patch-src_util_strndup.h) = 73f49694ca48ad6b9a9d8346c5b84fddec2463bd
-SHA1 (patch-src_util_u__atomic.h) = beb1df2bb28151bde0405bcae3994107be6813a5
+SHA1 (patch-src_util_u__atomic.h) = 31d4514538ef5ee53012695eb5c66134aaec981e
SHA1 (patch-src_util_u__queue.c) = 1ea1c2f8e2971235aa98be96bfd6b2b68f876072
SHA1 (patch-src_util_xmlconfig.c) = ad5619e067957b120a70c1c63421c92b356e16ac
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/patches/patch-configure
--- a/graphics/MesaLib18/patches/patch-configure Tue Oct 16 15:18:08 2018 +0000
+++ b/graphics/MesaLib18/patches/patch-configure Tue Oct 16 15:21:20 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-configure,v 1.1 2018/10/07 23:49:31 ryoon Exp $
+$NetBSD: patch-configure,v 1.2 2018/10/16 15:21:20 jperkin Exp $
Don't check for pthread stubs on netbsd.
@@ -28,7 +28,7 @@
case "$host_os" in
-darwin*)
-+darwin* | freebsd*)
++darwin* | freebsd* | solaris*)
LD_BUILD_ID=""
;;
*)
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/patches/patch-configure.ac
--- a/graphics/MesaLib18/patches/patch-configure.ac Tue Oct 16 15:18:08 2018 +0000
+++ b/graphics/MesaLib18/patches/patch-configure.ac Tue Oct 16 15:21:20 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-configure.ac,v 1.2 2018/10/10 11:03:02 maya Exp $
+$NetBSD: patch-configure.ac,v 1.3 2018/10/16 15:21:20 jperkin Exp $
Don't check for pthread stubs anywhere, as we don't provide it.
@@ -21,14 +21,14 @@
which fails to fall back to using DRI2 when run on a system
without DRI3 support.
---- configure.ac.orig 2018-02-09 02:17:57.000000000 +0000
+--- configure.ac.orig 2018-09-07 21:18:07.000000000 +0000
+++ configure.ac
@@ -713,7 +713,7 @@ dnl
dnl OSX linker does not support build-id
dnl
case "$host_os" in
-darwin*)
-+darwin* | freebsd*)
++darwin* | freebsd* | solaris*)
LD_BUILD_ID=""
;;
*)
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c
--- a/graphics/MesaLib18/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c Tue Oct 16 15:18:08 2018 +0000
+++ b/graphics/MesaLib18/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c Tue Oct 16 15:21:20 2018 +0000
@@ -1,9 +1,9 @@
-$NetBSD: patch-src_mesa_drivers_dri_i965_brw__performance__query.c,v 1.1 2018/10/07 23:49:31 ryoon Exp $
+$NetBSD: patch-src_mesa_drivers_dri_i965_brw__performance__query.c,v 1.2 2018/10/16 15:21:20 jperkin Exp $
Prevents libdrm i915_drm.h header from being used.
libdrm 2.4.88 does not have certain symbols defined in its i915_drm.h.
---- src/mesa/drivers/dri/i965/brw_performance_query.c.orig 2017-10-19 12:23:53.000000000 +0000
+--- src/mesa/drivers/dri/i965/brw_performance_query.c.orig 2018-09-07 21:18:07.000000000 +0000
+++ src/mesa/drivers/dri/i965/brw_performance_query.c
@@ -56,7 +56,7 @@
#include <sys/ioctl.h>
@@ -14,3 +14,59 @@
#include "main/hash.h"
#include "main/macros.h"
+@@ -1796,6 +1796,9 @@ enumerate_sysfs_metrics(struct brw_conte
+ DIR *metricsdir = NULL;
+ struct dirent *metric_entry;
+ int len;
++#ifdef __sun
++ struct stat s;
++#endif
+
+ len = snprintf(buf, sizeof(buf), "%s/metrics", brw->perfquery.sysfs_dev_dir);
+ if (len < 0 || len >= sizeof(buf)) {
+@@ -1812,10 +1815,18 @@ enumerate_sysfs_metrics(struct brw_conte
+ while ((metric_entry = readdir(metricsdir))) {
+ struct hash_entry *entry;
+
++#if defined(__sun)
++ stat(metric_entry->d_name, &s);
++ if ((s.st_mode != S_IFDIR &&
++ s.st_mode != S_IFLNK) ||
++ metric_entry->d_name[0] == '.')
++ continue;
++#else
+ if ((metric_entry->d_type != DT_DIR &&
+ metric_entry->d_type != DT_LNK) ||
+ metric_entry->d_name[0] == '.')
+ continue;
++#endif
+
+ DBG("metric set: %s\n", metric_entry->d_name);
+ entry = _mesa_hash_table_search(brw->perfquery.oa_metrics_table,
+@@ -2057,6 +2068,9 @@ get_sysfs_dev_dir(struct brw_context *br
+ DIR *drmdir;
+ struct dirent *drm_entry;
+ int len;
++#ifdef __sun
++ struct stat s;
++#endif
+
+ brw->perfquery.sysfs_dev_dir[0] = '\0';
+
+@@ -2088,9 +2102,16 @@ get_sysfs_dev_dir(struct brw_context *br
+ }
+
+ while ((drm_entry = readdir(drmdir))) {
++#if defined(__sun)
++ stat(drm_entry->d_name, &s);
++ if ((s.st_mode == S_IFDIR ||
++ s.st_mode == S_IFLNK) &&
++ strncmp(drm_entry->d_name, "card", 4) == 0)
++#else
+ if ((drm_entry->d_type == DT_DIR ||
+ drm_entry->d_type == DT_LNK) &&
+ strncmp(drm_entry->d_name, "card", 4) == 0)
++#endif
+ {
+ len = snprintf(brw->perfquery.sysfs_dev_dir,
+ sizeof(brw->perfquery.sysfs_dev_dir),
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/patches/patch-src_util_disk__cache.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/MesaLib18/patches/patch-src_util_disk__cache.c Tue Oct 16 15:21:20 2018 +0000
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_util_disk__cache.c,v 1.1 2018/10/16 15:21:20 jperkin Exp $
+
+Use fcntl() on SunOS.
+
+--- src/util/disk_cache.c.orig 2018-09-07 21:18:07.000000000 +0000
++++ src/util/disk_cache.c
+@@ -857,6 +857,9 @@ cache_put(void *job, int thread_index)
+ unsigned i = 0;
+ char *filename = NULL, *filename_tmp = NULL;
+ struct disk_cache_put_job *dc_job = (struct disk_cache_put_job *) job;
++#ifdef __sun
++ struct flock lock = {0};
++#endif
+
+ filename = get_cache_file(dc_job->cache, dc_job->key);
+ if (filename == NULL)
+@@ -895,7 +898,12 @@ cache_put(void *job, int thread_index)
+ * open with the flock held. So just let that file be responsible
+ * for writing the file.
+ */
++#ifdef __sun
++ lock.l_type = F_WRLCK;
++ err = fcntl(fd, F_SETLK, &lock);
++#else
+ err = flock(fd, LOCK_EX | LOCK_NB);
++#endif
+ if (err == -1)
+ goto done;
+
diff -r 769ba4102a62 -r d61b2c400f19 graphics/MesaLib18/patches/patch-src_util_u__atomic.h
--- a/graphics/MesaLib18/patches/patch-src_util_u__atomic.h Tue Oct 16 15:18:08 2018 +0000
+++ b/graphics/MesaLib18/patches/patch-src_util_u__atomic.h Tue Oct 16 15:21:20 2018 +0000
@@ -1,30 +1,15 @@
-$NetBSD: patch-src_util_u__atomic.h,v 1.1 2018/10/07 23:49:31 ryoon Exp $
+$NetBSD: patch-src_util_u__atomic.h,v 1.2 2018/10/16 15:21:20 jperkin Exp $
Fix SunOS atomic macros.
---- src/util/u_atomic.h.orig 2017-02-13 11:55:50.000000000 +0000
+--- src/util/u_atomic.h.orig 2018-09-07 21:18:07.000000000 +0000
+++ src/util/u_atomic.h
-@@ -177,7 +177,7 @@
- sizeof(*v) == sizeof(uint16_t) ? atomic_inc_16((uint16_t *)(v)) : \
- sizeof(*v) == sizeof(uint32_t) ? atomic_inc_32((uint32_t *)(v)) : \
- sizeof(*v) == sizeof(uint64_t) ? atomic_inc_64((uint64_t *)(v)) : \
-- (assert(!"should not get here"), 0))
-+ (assert(!"should not get here"), (void)0))
-
- #define p_atomic_inc_return(v) ((__typeof(*v)) \
- sizeof(*v) == sizeof(uint8_t) ? atomic_inc_8_nv ((uint8_t *)(v)) : \
-@@ -186,12 +186,12 @@
- sizeof(*v) == sizeof(uint64_t) ? atomic_inc_64_nv((uint64_t *)(v)) : \
- (assert(!"should not get here"), 0))
-
--#define p_atomic_dec(v) ((void) \
-+#define p_atomic_dec(v) (void) (\
- sizeof(*v) == sizeof(uint8_t) ? atomic_dec_8 ((uint8_t *)(v)) : \
- sizeof(*v) == sizeof(uint16_t) ? atomic_dec_16((uint16_t *)(v)) : \
- sizeof(*v) == sizeof(uint32_t) ? atomic_dec_32((uint32_t *)(v)) : \
- sizeof(*v) == sizeof(uint64_t) ? atomic_dec_64((uint64_t *)(v)) : \
-- (assert(!"should not get here"), 0))
-+ (assert(!"should not get here"), (void)0))
-
- #define p_atomic_dec_return(v) ((__typeof(*v)) \
- sizeof(*v) == sizeof(uint8_t) ? atomic_dec_8_nv ((uint8_t *)(v)) : \
+@@ -20,7 +20,7 @@
+ * locally coded assembly, compiler intrinsic or ultimately a
+ * mutex-based implementation.
+ */
+-#if defined(__sun)
++#if defined(__sun) && !defined(__GNUC__)
+ #define PIPE_ATOMIC_OS_SOLARIS
+ #elif defined(_MSC_VER)
+ #define PIPE_ATOMIC_MSVC_INTRINSIC
Home |
Main Index |
Thread Index |
Old Index