diff --git a/MesaLib-dfbsd-meson/Makefile b/MesaLib-dfbsd-meson/Makefile index 9017eb1e69..01ffeedb10 100644 --- a/MesaLib-dfbsd-meson/Makefile +++ b/MesaLib-dfbsd-meson/Makefile @@ -1,7 +1,16 @@ # $NetBSD: Makefile,v 1.20 2019/04/25 07:32:56 maya Exp $ +# 2019-05-03 st/va: check resource_get_info nullity in vlVaDeriveImage +COMMIT_ID= 8cd71f399e73c5d87e9162cc74da76e317a9f41f + +# 2019-05-03 radv: apply the indexing workaround for atomic buffer operations on GFX9 +# COMMIT_ID= 4f18c43d1df64135e8968a7d4fbfd2c9918b76ae + +# 2019-05-03 anv: fix crash when application does not provide push constants +# COMMIT_ID= 80dc78407d0d1e03ceddf8889b217e8fd113568d + # 2019-05-02 anv: Stop including POS in FS input limits -COMMIT_ID= be7e9870d620460a91e8fbdbb8bf39b5c462aed3 +# COMMIT_ID= be7e9870d620460a91e8fbdbb8bf39b5c462aed3 # 2019-05-02 docs: fixup mistake in contents # COMMIT_ID= 96924aa92ecf16cd2145b1a881df37d9162c6ba7 diff --git a/MesaLib-dfbsd-meson/distinfo b/MesaLib-dfbsd-meson/distinfo index a791909a67..56854d64f4 100644 --- a/MesaLib-dfbsd-meson/distinfo +++ b/MesaLib-dfbsd-meson/distinfo @@ -1,9 +1,9 @@ $NetBSD: distinfo,v 1.17 2019/05/01 19:31:45 maya Exp $ -SHA1 (mesa-be7e9870d620460a91e8fbdbb8bf39b5c462aed3.tar.xz) = e6b5051b59f8700bf928fd79970ce48037953898 -RMD160 (mesa-be7e9870d620460a91e8fbdbb8bf39b5c462aed3.tar.xz) = d7313261e7b9777d513fca84de30491d5da44207 -SHA512 (mesa-be7e9870d620460a91e8fbdbb8bf39b5c462aed3.tar.xz) = c343d6331c7de9ae25e9dbdb35120236f0eb41506eb610a1e0a50e7759e14318b1dedcf2951fc4513b4009231ca747b873a74c7da9d1df01b503f7a65a3209e1 -Size (mesa-be7e9870d620460a91e8fbdbb8bf39b5c462aed3.tar.xz) = 10875384 bytes +SHA1 (mesa-8cd71f399e73c5d87e9162cc74da76e317a9f41f.tar.xz) = 74e0e4e21298240d35e8cb59f9efe9bfdb1104af +RMD160 (mesa-8cd71f399e73c5d87e9162cc74da76e317a9f41f.tar.xz) = 2ab4747836960c4a3c9de7872e8e15a9769c6d0b +SHA512 (mesa-8cd71f399e73c5d87e9162cc74da76e317a9f41f.tar.xz) = 03d777d0c84a554fdaf780a67299e51b6eadaad525ac984aa5b442f27a0feb6fc65bb4733b6be8a038d250c8d64473e293feeae3fef791587058d97bf413a13f +Size (mesa-8cd71f399e73c5d87e9162cc74da76e317a9f41f.tar.xz) = 10876392 bytes SHA1 (patch-include_GL_internal_dri__interface.h) = ed567949ae44f7477738138347cf9648b9a8d634 SHA1 (patch-meson.build) = 3cd30902cd5af7bc860dd2984a51d9ebf051662e SHA1 (patch-meson__options.txt) = 171ac109444b0ce8ea37e53b72f529a4b5e5c6f6 @@ -14,18 +14,13 @@ SHA1 (patch-src_compiler_builtin__type__macros.h) = 128030d0c532e5f3982dc6ebde19 SHA1 (patch-src_compiler_glsl_glsl__parser__extras.cpp) = ef114d6e288e6d212fce9d1c0606f7d454a171c4 SHA1 (patch-src_egl_drivers_dri2_platform__drm.c) = e18e7b1ffbc74b8acf3d9095a92c750f9d005479 SHA1 (patch-src_egl_drivers_dri2_platform__x11.c) = 1b8c7689b18643777d494bbb491866ed0041155d -SHA1 (patch-src_egl_main_eglglobals.c) = 1b723fb03c13e267b23e7cb94b2f19c2bfa03be5 +SHA1 (patch-src_egl_main_eglglobals.c) = c8db1469859d448635f96a0eac1a936104cd0fdd SHA1 (patch-src_gallium_auxiliary_drivers_trace_tr__dump.c) = 360e1608508a7bbb41acecd58930781038e2309e SHA1 (patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c) = 14f0511191ef468a39e3248d44f7dbdffa554547 SHA1 (patch-src_gallium_auxiliary_rtasm_rtasm__execmem.c) = 1c1e0f02f247cd2322f19f10e67d61cf56e65487 SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = d878e6f3e9a0a37d4903c0d0551f9fa535635d40 SHA1 (patch-src_gallium_drivers_freedreno_freedreno__screen.c) = b19e93b1612d6eacccf35260110db9402eb4edca -SHA1 (patch-src_gallium_drivers_i915_i915__fpc__translate.c) = 1c69741c2c9285569c6326d8d29d5af936e1929a -SHA1 (patch-src_gallium_drivers_iris_iris__bufmgr.c) = 542b24813743290ce031cd1632e83f8255b71a32 SHA1 (patch-src_gallium_drivers_iris_meson.build) = 31f0afab5212860917fe78e2b282a730187502ef -SHA1 (patch-src_gallium_drivers_llvmpipe_lp__setup__line.c) = bc049154cbfb788855ad6675a339ef07b15cd573 -SHA1 (patch-src_gallium_drivers_llvmpipe_lp__setup__point.c) = f6a2c5940010cd93f955c969616af7a7c550fab4 -SHA1 (patch-src_gallium_drivers_llvmpipe_lp__setup__tri.c) = 430fdde0943074c0b4cfeaebe5b7e3c930c6bcf3 SHA1 (patch-src_gallium_drivers_nouveau_meson.build) = 59de3f012f604ae185d90c5c64521f35580eaa00 SHA1 (patch-src_gallium_drivers_nouveau_nouveau__vp3__video.c) = 04f95784c3270c9bb7e95377982e217962481525 SHA1 (patch-src_gallium_drivers_nouveau_nv50_nv84__video.c) = 1b4239fe053523835ecac006894bdb0cde0ee626 @@ -41,14 +36,12 @@ SHA1 (patch-src_gallium_state__trackers_clover_llvm_invocation.cpp) = 3053db09fb SHA1 (patch-src_gallium_state__trackers_clover_llvm_metadata.hpp) = c97d38098ea03658bc193a50e445b87f1c020839 SHA1 (patch-src_gallium_state__trackers_clover_util_range.hpp) = cdc78067986c1b92818472c4201c58ef1b42c4f4 SHA1 (patch-src_gallium_winsys_radeon_drm_radeon__drm__winsys.c) = 8c73f29a93e4e7ae8c0acd6f5f345047dc8a8541 -SHA1 (patch-src_gbm_backends_dri_gbm__dri.c) = b827957f7df62bf3a25979b29a8cd8576e3ea62b SHA1 (patch-src_glx_apple_apple__glapi.c) = c4eea8dabf74eb03d22da4eb834b18ae3384c63b -SHA1 (patch-src_glx_dri__common.c) = 7f87917dbef11621a488554a49797b1407c4a5c4 SHA1 (patch-src_glx_dri__common.h) = 0274877f8c65a4bb729536a897df4704897a4c6e SHA1 (patch-src_glx_dri__glx.c) = 8fd48776e9953b18bd17ba130d90ae2935e67242 SHA1 (patch-src_glx_glxclient.h) = 5e597362c3839f26118fe98983701f33d6047cfd SHA1 (patch-src_glx_glxcurrent.c) = 67142b977aadf23b0b0d3a06db3d9450e0b7f892 -SHA1 (patch-src_glx_glxext.c) = 1c044d38faebc310f49248a6b937b1bbc5a16870 +SHA1 (patch-src_glx_glxext.c) = 15c2c5e0c6b5095ce849fb86ad148aa05d7d907a SHA1 (patch-src_intel_compiler_brw__fs__bank__conflicts.cpp) = 6276d2c6846bb4dd08699921bec4e20202a17478 SHA1 (patch-src_intel_isl_isl__tiled__memcpy.c) = f019e47e535e2c2ab8d324937362a4c7965311f1 SHA1 (patch-src_intel_perf_gen__perf.h) = 2915eb9dc7161d74d73b8e238dc1f0d0d9b82935 @@ -68,10 +61,10 @@ SHA1 (patch-src_mapi_u__current.c) = bee667c667bb1bd6e3b0f774d6ad6da5b7f0546d SHA1 (patch-src_mapi_u__current.h) = 13e91936db8d468c4f4744eb5cc01ad879b53539 SHA1 (patch-src_mapi_u__execmem.c) = 3b448405aeea0b17cfa58e8fe66708467b6eeb8a SHA1 (patch-src_mesa_drivers_dri_i915_intel__screen.c) = fb9324dcbc8ffbc00bee6aedcc38db2e94b24f9d -SHA1 (patch-src_mesa_drivers_dri_i965_brw__bufmgr.c) = 7a6edf46b9364bcdb2dbe8d70a2e6a1d0610dc40 +SHA1 (patch-src_mesa_drivers_dri_i965_brw__bufmgr.c) = ad0fc0cacf59dde38d18f9ceb93411105cdd6c89 SHA1 (patch-src_mesa_drivers_dri_i965_intel__screen.c) = 1b5de370add6984fb44968c055b7d8d5a54417dd SHA1 (patch-src_mesa_drivers_dri_swrast_swrast.c) = 4c0ca7dec2398a15f77b643d0f86af41ca202be3 -SHA1 (patch-src_mesa_main_context.c) = a7c796810104971e2fd76b15397d068e628f0a9e +SHA1 (patch-src_mesa_main_context.c) = 441026b8f073fd90f2586dfb306482feed6c6834 SHA1 (patch-src_mesa_main_execmem.c) = 4a0a790e648e63907454b78318c7edbecc11d02c SHA1 (patch-src_mesa_main_extensions.c) = 2f48bdb1176c2878bb33bcfab7556172b50a987e SHA1 (patch-src_mesa_main_macros.h) = c5dceaa8dc02a58e5b2273d82e3fe1cc12e327d3 diff --git a/MesaLib-dfbsd-meson/options.mk b/MesaLib-dfbsd-meson/options.mk index d7af7973f9..c4c8da4e79 100644 --- a/MesaLib-dfbsd-meson/options.mk +++ b/MesaLib-dfbsd-meson/options.mk @@ -24,22 +24,21 @@ PKG_SUPPORTED_OPTIONS+= revert_i965_softpin PKG_SUPPORTED_OPTIONS+= revert_sdma_uploader PKG_SUPPORTED_OPTIONS+= require_36_gen4 -PKG_SUPPORTED_OPTIONS+= no_cs_queue -PKG_SUPPORTED_OPTIONS+= revert_threaded_context -PKG_SUPPORTED_OPTIONS+= revert_copy_clear PKG_SUPPORTED_OPTIONS+= physmem_netbsd PKG_SUPPORTED_OPTIONS+= setaffinity_np_netbsd PKG_SUPPORTED_OPTIONS+= no_initial_exec_nonnull + +PKG_SUPPORTED_OPTIONS+= no_cs_queue +PKG_SUPPORTED_OPTIONS+= revert_threaded_context +PKG_SUPPORTED_OPTIONS+= revert_copy_clear + PKG_SUPPORTED_OPTIONS+= no_getprogramname PKG_SUPPORTED_OPTIONS+= strict_xsrc_netbsd PKG_SUPPORTED_OPTIONS+= x86_tsd_openbsd -PKG_SUPPORTED_OPTIONS+= so_name_openbsd PKG_SUPPORTED_OPTIONS+= disable_wx_memory PKG_SUPPORTED_OPTIONS+= no_linear_alloc_destructor -PKG_SUPPORTED_OPTIONS+= invert_atomic_add_unless - PKG_SUGGESTED_OPTIONS+= xvmc PKG_SUGGESTED_OPTIONS+= vdpau vaapi @@ -115,12 +114,6 @@ PKG_SUGGESTED_OPTIONS+= revert_sdma_uploader PKG_SUGGESTED_OPTIONS+= require_36_gen4 .endif -.if ${OPSYS} == "NetBSD" -PKG_SUGGESTED_OPTIONS+= no_cs_queue -PKG_SUGGESTED_OPTIONS+= revert_threaded_context -PKG_SUGGESTED_OPTIONS+= revert_copy_clear -.endif - .if ${OPSYS} == "NetBSD" PKG_SUGGESTED_OPTIONS+= physmem_netbsd .endif @@ -133,6 +126,12 @@ PKG_SUGGESTED_OPTIONS+= setaffinity_np_netbsd PKG_SUGGESTED_OPTIONS+= no_initial_exec_nonnull .endif +.if ${OPSYS} == "NetBSD" +PKG_SUGGESTED_OPTIONS+= no_cs_queue +PKG_SUGGESTED_OPTIONS+= revert_threaded_context +PKG_SUGGESTED_OPTIONS+= revert_copy_clear +.endif + # .if ${OPSYS} == "NetBSD" # PKG_SUGGESTED_OPTIONS+= no_getprogramname # .endif @@ -146,11 +145,6 @@ PKG_SUGGESTED_OPTIONS+= no_initial_exec_nonnull PKG_SUGGESTED_OPTIONS+= x86_tsd_openbsd .endif -# Shorten names dlopened to libGL.so and libglapi.so -.if ${OPSYS} == "OpenBSD" -PKG_SUGGESTED_OPTIONS+= so_name_openbsd -.endif - # Disable code for init_heap for fear of W^X violation .if ${OPSYS} == "OpenBSD" PKG_SUGGESTED_OPTIONS+= disable_wx_memory @@ -160,11 +154,6 @@ PKG_SUGGESTED_OPTIONS+= disable_wx_memory PKG_SUGGESTED_OPTIONS+= no_linear_alloc_destructor .endif -# Causes segfault in mpv on DragonFly intel EagleLake machine -# .if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly" -# PKG_SUGGESTED_OPTIONS+= invert_atomic_add_unless -# .endif - .include "../../mk/bsd.options.mk" # gallium @@ -509,18 +498,6 @@ CPPFLAGS+= -DREVERT_SDMA_UPLOADER CPPFLAGS+= -DREQUIRE_36_GEN4 .endif -.if !empty(PKG_OPTIONS:Mno_cs_queue) -CPPFLAGS+= -DNO_CS_QUEUE -.endif - -.if !empty(PKG_OPTIONS:Mrevert_threaded_context) -CPPFLAGS+= -DREVERT_THREADED_CONTEXT -.endif - -.if !empty(PKG_OPTIONS:Mrevert_copy_clear) -CPPFLAGS+= -DREVERT_COPY_CLEAR -.endif - .if !empty(PKG_OPTIONS:Mphysmem_netbsd) CPPFLAGS+= -DPHYSMEM_NETBSD .endif @@ -533,6 +510,18 @@ CPPFLAGS+= -DSETAFFINITY_NP_NETBSD CPPFLAGS+= -DNO_INITIAL_EXEC_NONNULL .endif +.if !empty(PKG_OPTIONS:Mno_cs_queue) +CPPFLAGS+= -DNO_CS_QUEUE +.endif + +.if !empty(PKG_OPTIONS:Mrevert_threaded_context) +CPPFLAGS+= -DREVERT_THREADED_CONTEXT +.endif + +.if !empty(PKG_OPTIONS:Mrevert_copy_clear) +CPPFLAGS+= -DREVERT_COPY_CLEAR +.endif + .if !empty(PKG_OPTIONS:Mno_getprogramname) CPPFLAGS+= -DNO_GETPROGRAMNAME .endif @@ -545,10 +534,6 @@ CPPFLAGS+= -DSTRICT_XSRC_NETBSD CPPFLAGS+= -DX86_TSD_OPENBSD .endif -.if !empty(PKG_OPTIONS:Mso_name_openbsd) -CPPFLAGS+= -DSO_NAME_OPENBSD -.endif - .if !empty(PKG_OPTIONS:Mdisable_wx_memory) CPPFLAGS+= -DDISABLE_WX_MEMORY .endif @@ -556,7 +541,3 @@ CPPFLAGS+= -DDISABLE_WX_MEMORY .if !empty(PKG_OPTIONS:Mno_linear_alloc_destructor) CPPFLAGS+= -DNO_LINEAR_ALLOC_DESTRUCTOR .endif - -.if !empty(PKG_OPTIONS:Minvert_atomic_add_unless) -CPPFLAGS+= -DINVERT_ATOMIC_ADD_UNLESS -.endif diff --git a/MesaLib-dfbsd-meson/patch-src_mesa_drivers_dri_i965_brw__performance__query.c b/MesaLib-dfbsd-meson/patch-src_mesa_drivers_dri_i965_brw__performance__query.c deleted file mode 100644 index 53a741526f..0000000000 --- a/MesaLib-dfbsd-meson/patch-src_mesa_drivers_dri_i965_brw__performance__query.c +++ /dev/null @@ -1,61 +0,0 @@ -$NetBSD: patch-src_mesa_drivers_dri_i965_brw__performance__query.c,v 1.2 2018/10/16 15:21:20 jperkin Exp $ - ---- src/mesa/drivers/dri/i965/brw_performance_query.c.orig 2019-02-21 18:11:53.000000000 +0000 -+++ src/mesa/drivers/dri/i965/brw_performance_query.c -@@ -1797,6 +1797,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)) { -@@ -1813,10 +1816,19 @@ 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, -@@ -2056,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'; - -@@ -2087,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 --git a/MesaLib-dfbsd-meson/patches/patch-src_egl_main_eglglobals.c b/MesaLib-dfbsd-meson/patches/patch-src_egl_main_eglglobals.c index 6337d56798..2c3a00bc34 100644 --- a/MesaLib-dfbsd-meson/patches/patch-src_egl_main_eglglobals.c +++ b/MesaLib-dfbsd-meson/patches/patch-src_egl_main_eglglobals.c @@ -5,15 +5,17 @@ atexit() is not a good idea in shared libraries. FreeBSD reported atexit bug for 10.6: https://bugs.freedesktop.org/show_bug.cgi?id=91869 ---- src/egl/main/eglglobals.c.orig 2019-03-15 01:02:19.000000000 +0000 +From NetBSD xsrc: +The third argument of mincore(2) is unsigned only on linux. + +--- src/egl/main/eglglobals.c.orig 2019-05-03 15:59:12.000000000 +0000 +++ src/egl/main/eglglobals.c -@@ -93,11 +93,23 @@ struct _egl_global _eglGlobal = +@@ -93,11 +93,22 @@ struct _egl_global _eglGlobal = .debugTypesEnabled = _EGL_DEBUG_BIT_CRITICAL | _EGL_DEBUG_BIT_ERROR, }; +#if defined(HAVE_NOATEXIT) -+/* static EGLBoolean registered = EGL_FALSE; */ -+static int add_atexit_called = 0; ++static EGLBoolean registered = EGL_FALSE; +static void __attribute__((__destructor__)) +#else @@ -24,30 +26,24 @@ https://bugs.freedesktop.org/show_bug.cgi?id=91869 EGLint i; + +#if defined(HAVE_NOATEXIT) -+ if (!add_atexit_called) ++ if (!registered) + return; +#endif + for (i = _eglGlobal.NumAtExitCalls - 1; i >= 0; i--) _eglGlobal.AtExitCalls[i](); } -@@ -106,15 +118,26 @@ _eglAtExit(void) - void +@@ -107,14 +118,20 @@ void _eglAddAtExitCall(void (*func)(void)) { -+#if 0 -+ static EGLBoolean registered = EGL_FALSE; -+#endif -+ if (func) { -+#if 1 ++#if !defined(HAVE_NOATEXIT) static EGLBoolean registered = EGL_FALSE; +#endif mtx_lock(_eglGlobal.Mutex); +#if defined(HAVE_NOATEXIT) -+ add_atexit_called = 1; + registered = EGL_TRUE; +#else if (!registered) { @@ -58,3 +54,15 @@ https://bugs.freedesktop.org/show_bug.cgi?id=91869 assert(_eglGlobal.NumAtExitCalls < ARRAY_SIZE(_eglGlobal.AtExitCalls)); _eglGlobal.AtExitCalls[_eglGlobal.NumAtExitCalls++] = func; +@@ -162,7 +179,10 @@ _eglPointerIsDereferencable(void *p) + { + #ifdef HAVE_MINCORE + uintptr_t addr = (uintptr_t) p; +- unsigned char valid = 0; ++#ifdef __linux__ ++ unsigned ++#endif ++ char valid = 0; + const long page_size = getpagesize(); + + if (p == NULL) diff --git a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_i915_i915__fpc__translate.c b/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_i915_i915__fpc__translate.c deleted file mode 100644 index e00520e3b4..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_i915_i915__fpc__translate.c +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD$ - ---- src/gallium/drivers/i915/i915_fpc_translate.c.orig 2019-03-15 01:02:19.000000000 +0000 -+++ src/gallium/drivers/i915/i915_fpc_translate.c -@@ -1095,7 +1095,11 @@ i915_init_compile(struct i915_context *i - p->decl = p->declarations; - p->decl_s = 0; - p->decl_t = 0; -+#if defined(STRICT_XSRC_NETBSD) -+ p->temp_flag = ~0x0U << I915_MAX_TEMPORARY; -+#else - p->temp_flag = ~0x0 << I915_MAX_TEMPORARY; -+#endif - p->utemp_flag = ~0x7; - - /* initialize the first program word */ diff --git a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_iris_iris__bufmgr.c b/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_iris_iris__bufmgr.c deleted file mode 100644 index 0ce9c94909..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_iris_iris__bufmgr.c +++ /dev/null @@ -1,23 +0,0 @@ -$NetBSD$ - -This single patch allows glxgears to run properly on -an Intel integrated graphics IvyBridge machine on DragonFly. -libdrm atomic_add_unless() may reverse return value meaning -https://bugs.freedesktop.org/show_bug.cgi?id=100077 - -This does not seem the correct choice in mesa3d. - ---- src/gallium/drivers/iris/iris_bufmgr.c.orig 2019-03-30 17:05:31.000000000 +0000 -+++ src/gallium/drivers/iris/iris_bufmgr.c -@@ -114,7 +114,11 @@ atomic_add_unless(int *v, int add, int u - c = p_atomic_read(v); - while (c != unless && (old = p_atomic_cmpxchg(v, c, c + add)) != c) - c = old; -+#if defined(INVERT_ATOMIC_ADD_UNLESS) -+ return c != unless; -+#else - return c == unless; -+#endif - } - - static const char * diff --git a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__line.c b/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__line.c deleted file mode 100644 index f2330956c4..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__line.c +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD$ - ---- src/gallium/drivers/llvmpipe/lp_setup_line.c.orig 2019-03-15 01:02:19.000000000 +0000 -+++ src/gallium/drivers/llvmpipe/lp_setup_line.c -@@ -724,7 +724,11 @@ try_setup_line( struct lp_setup_context - struct lp_rast_plane *plane_s = &plane[4]; - - if (s_planes[0]) { -+#if defined(STRICT_XSRC_NETBSD) -+ plane_s->dcdx = ~0U << 8; -+#else - plane_s->dcdx = -1 << 8; -+#endif - plane_s->dcdy = 0; - plane_s->c = (1-scissor->x0) << 8; - plane_s->eo = 1 << 8; -@@ -746,7 +750,11 @@ try_setup_line( struct lp_setup_context - } - if (s_planes[3]) { - plane_s->dcdx = 0; -+#if defined(STRICT_XSRC_NETBSD) -+ plane_s->dcdy = ~0U << 8; -+#else - plane_s->dcdy = -1 << 8; -+#endif - plane_s->c = (scissor->y1+1) << 8; - plane_s->eo = 0; - plane_s++; diff --git a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__point.c b/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__point.c deleted file mode 100644 index af4713f049..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__point.c +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD$ - ---- src/gallium/drivers/llvmpipe/lp_setup_point.c.orig 2019-03-15 01:02:19.000000000 +0000 -+++ src/gallium/drivers/llvmpipe/lp_setup_point.c -@@ -491,7 +491,11 @@ try_setup_point( struct lp_setup_context - { - struct lp_rast_plane *plane = GET_PLANES(point); - -+#if defined(STRICT_XSRC_NETBSD) -+ plane[0].dcdx = ~0U << 8; -+#else - plane[0].dcdx = -1 << 8; -+#endif - plane[0].dcdy = 0; - plane[0].c = (1-bbox.x0) << 8; - plane[0].eo = 1 << 8; -@@ -507,7 +511,11 @@ try_setup_point( struct lp_setup_context - plane[2].eo = 1 << 8; - - plane[3].dcdx = 0; -+#if defined(STRICT_XSRC_NETBSD) -+ plane[3].dcdy = ~0U << 8; -+#else - plane[3].dcdy = -1 << 8; -+#endif - plane[3].c = (bbox.y1+1) << 8; - plane[3].eo = 0; - } diff --git a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__tri.c b/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__tri.c deleted file mode 100644 index cf6ef61f2e..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_gallium_drivers_llvmpipe_lp__setup__tri.c +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD$ - ---- src/gallium/drivers/llvmpipe/lp_setup_tri.c.orig 2019-03-15 01:02:19.000000000 +0000 -+++ src/gallium/drivers/llvmpipe/lp_setup_tri.c -@@ -687,7 +687,11 @@ do_triangle_ccw(struct lp_setup_context - struct lp_rast_plane *plane_s = &plane[3]; - - if (s_planes[0]) { -+#if defined(STRICT_XSRC_NETBSD) -+ plane_s->dcdx = ~0U << 8; -+#else - plane_s->dcdx = -1 << 8; -+#endif - plane_s->dcdy = 0; - plane_s->c = (1-scissor->x0) << 8; - plane_s->eo = 1 << 8; -@@ -709,7 +713,11 @@ do_triangle_ccw(struct lp_setup_context - } - if (s_planes[3]) { - plane_s->dcdx = 0; -+#if defined(STRICT_XSRC_NETBSD) -+ plane_s->dcdy = ~0U << 8; -+#else - plane_s->dcdy = -1 << 8; -+#endif - plane_s->c = (scissor->y1+1) << 8; - plane_s->eo = 0; - plane_s++; diff --git a/MesaLib-dfbsd-meson/patches/patch-src_gbm_backends_dri_gbm__dri.c b/MesaLib-dfbsd-meson/patches/patch-src_gbm_backends_dri_gbm__dri.c deleted file mode 100644 index 22bd5a005b..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_gbm_backends_dri_gbm__dri.c +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD$ - ---- src/gbm/backends/dri/gbm_dri.c.orig 2019-03-06 23:05:20.000000000 +0000 -+++ src/gbm/backends/dri/gbm_dri.c -@@ -302,7 +302,11 @@ dri_open_driver(struct gbm_dri_device *d - /* XXX: Library name differs on per platforms basis. Update this as - * osx/cygwin/windows/bsd gets support for GBM.. - */ -+#if defined(SO_NAME_OPENBSD) -+ dlopen("libglapi.so", RTLD_LAZY | RTLD_GLOBAL); -+#else - dlopen("libglapi.so.0", RTLD_LAZY | RTLD_GLOBAL); -+#endif - - static const char *search_path_vars[] = { - /* Read GBM_DRIVERS_PATH first for compatibility, but LIBGL_DRIVERS_PATH diff --git a/MesaLib-dfbsd-meson/patches/patch-src_glx_dri__common.c b/MesaLib-dfbsd-meson/patches/patch-src_glx_dri__common.c deleted file mode 100644 index 75e23d0c38..0000000000 --- a/MesaLib-dfbsd-meson/patches/patch-src_glx_dri__common.c +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD$ - ---- src/glx/dri_common.c.orig 2019-03-06 23:05:20.000000000 +0000 -+++ src/glx/dri_common.c -@@ -73,6 +73,10 @@ dri_message(int level, const char *f, .. - } - } - -+#if defined(SO_NAME_OPENBSD) -+#define GL_LIB_NAME "libGL.so" -+#endif -+ - #ifndef GL_LIB_NAME - #define GL_LIB_NAME "libGL.so.1" - #endif diff --git a/MesaLib-dfbsd-meson/patches/patch-src_glx_glxext.c b/MesaLib-dfbsd-meson/patches/patch-src_glx_glxext.c index af8f679e4d..1ce9e9b86e 100644 --- a/MesaLib-dfbsd-meson/patches/patch-src_glx_glxext.c +++ b/MesaLib-dfbsd-meson/patches/patch-src_glx_glxext.c @@ -35,7 +35,7 @@ $NetBSD: patch-src_glx_glxext.c,v 1.1 2018/10/07 23:49:31 ryoon Exp $ if (glx_direct && glx_accel) { #if defined(HAVE_DRI3) - if (!env_var_as_boolean("LIBGL_DRI3_DISABLE", false)) -+#if ((defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined(__DRM_NEXT__)) || defined(TEST_DRI3_ENABLE) ++#if ((defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined(__DRM_NEXT__)) || defined(__DragonFly__) || defined(__NetBSD__) + if (env_var_as_boolean("LIBGL_DRI3_ENABLE", false)) +#endif + if (!env_var_as_boolean("LIBGL_DRI3_DISABLE", false)) { diff --git a/MesaLib-dfbsd-meson/patches/patch-src_mesa_drivers_dri_i965_brw__bufmgr.c b/MesaLib-dfbsd-meson/patches/patch-src_mesa_drivers_dri_i965_brw__bufmgr.c index 08402a3e67..d04c4ee68a 100644 --- a/MesaLib-dfbsd-meson/patches/patch-src_mesa_drivers_dri_i965_brw__bufmgr.c +++ b/MesaLib-dfbsd-meson/patches/patch-src_mesa_drivers_dri_i965_brw__bufmgr.c @@ -1,10 +1,5 @@ $NetBSD$ -This single patch allows glxgears to run properly on -an Intel integrated graphics IvyBridge machine on DragonFly. -libdrm atomic_add_unless() may reverse return value meaning -https://bugs.freedesktop.org/show_bug.cgi?id=100077 - From Ravenports graphics/mesa-dri: Disable soft-spinning of all buffers (#169) @@ -20,21 +15,9 @@ Discussion in https://bugs.dragonflybsd.org/issues/3171 ---- src/mesa/drivers/dri/i965/brw_bufmgr.c.orig 2019-03-05 16:06:50.000000000 +0000 +--- src/mesa/drivers/dri/i965/brw_bufmgr.c.orig 2019-05-03 15:59:12.000000000 +0000 +++ src/mesa/drivers/dri/i965/brw_bufmgr.c -@@ -98,7 +98,11 @@ atomic_add_unless(int *v, int add, int u - c = p_atomic_read(v); - while (c != unless && (old = p_atomic_cmpxchg(v, c, c + add)) != c) - c = old; -+#if defined(INVERT_ATOMIC_ADD_UNLESS) -+ return c != unless; -+#else - return c == unless; -+#endif - } - - /** -@@ -1721,7 +1725,11 @@ brw_bufmgr_init(struct gen_device_info * +@@ -1721,7 +1721,11 @@ brw_bufmgr_init(struct gen_device_info * bufmgr->initial_kflags |= EXEC_OBJECT_SUPPORTS_48B_ADDRESS; /* Allocate VMA in userspace if we have softpin and full PPGTT. */ diff --git a/MesaLib-dfbsd-meson/patches/patch-src_mesa_main_context.c b/MesaLib-dfbsd-meson/patches/patch-src_mesa_main_context.c index 36a5d3a0a8..7c32f870db 100644 --- a/MesaLib-dfbsd-meson/patches/patch-src_mesa_main_context.c +++ b/MesaLib-dfbsd-meson/patches/patch-src_mesa_main_context.c @@ -9,14 +9,14 @@ https://bugs.freedesktop.org/show_bug.cgi?id=82246 FreeBSD reported atexit bug for 10.6: https://bugs.freedesktop.org/show_bug.cgi?id=91869 ---- src/mesa/main/context.c.orig 2019-03-15 01:02:19.000000000 +0000 +--- src/mesa/main/context.c.orig 2019-05-03 15:59:12.000000000 +0000 +++ src/mesa/main/context.c @@ -357,11 +357,23 @@ mtx_t OneTimeLock = _MTX_INITIALIZER_NP; * Calls all the various one-time-fini functions in Mesa */ +#if defined(HAVE_NOATEXIT) -+static int init_called = 0; ++static GLbitfield api_init_mask = 0x0; +static void __attribute__((__destructor__)) +#else static void @@ -24,7 +24,7 @@ https://bugs.freedesktop.org/show_bug.cgi?id=91869 one_time_fini(void) { +#if defined(HAVE_NOATEXIT) -+ if (init_called) { ++ if (api_init_mask) { + _mesa_destroy_shader_compiler(); + _mesa_locale_fini(); + } @@ -39,7 +39,7 @@ https://bugs.freedesktop.org/show_bug.cgi?id=91869 static void one_time_init( struct gl_context *ctx ) { -+#if 1 ++#if !defined(HAVE_NOATEXIT) static GLbitfield api_init_mask = 0x0; +#endif @@ -55,13 +55,3 @@ https://bugs.freedesktop.org/show_bug.cgi?id=91869 #if defined(DEBUG) if (MESA_VERBOSE != 0) { -@@ -416,6 +432,9 @@ one_time_init( struct gl_context *ctx ) - } - - api_init_mask |= 1 << ctx->API; -+#if defined(HAVE_NOATEXIT) -+ init_called = 1; -+#endif - - mtx_unlock(&OneTimeLock); - }