diff options
author | nia <nia@pkgsrc.org> | 2019-08-22 17:24:01 +0000 |
---|---|---|
committer | nia <nia@pkgsrc.org> | 2019-08-22 17:24:01 +0000 |
commit | d052a4ceef05c8f4f1b6e018a7c11a65284ac6d7 (patch) | |
tree | 29e5e11a30ccf07a9a3a77626a2c816c03b03e4c | |
parent | b09909b6b2f109c7db276aee2f6ed626f3839476 (diff) | |
download | pkgsrc-d052a4ceef05c8f4f1b6e018a7c11a65284ac6d7.tar.gz |
MesaLib: Update to 19.1.4
Upstream has replaced their autotools-based build system with Meson.
Thanks to fox@ for testing on Linux.
New features:
* GL_AMD_texture_texture4 on all GL 4.0 drivers.
* GL_EXT_shader_implicit_conversions on all drivers (ES extension).
* GL_EXT_texture_compression_bptc on all GL 4.0 drivers (ES extension).
* GL_EXT_texture_compression_rgtc on all GL 3.0 drivers (ES extension).
* GL_EXT_render_snorm on gallium drivers (ES extension).
* GL_EXT_texture_view on drivers supporting texture views (ES extension).
* GL_OES_texture_view on drivers supporting texture views (ES extension).
* GL_NV_shader_atomic_float on nvc0 (Fermi/Kepler only).
* Shader-based software implementations of GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, GL_ARB_vertex_attrib_64bit, and GL_ARB_shader_ballot on i965.
* VK_ANDROID_external_memory_android_hardware_buffer on Intel
* Fixed and re-exposed VK_EXT_pci_bus_info on Intel and RADV
* VK_EXT_scalar_block_layout on Intel and RADV
* VK_KHR_depth_stencil_resolve on Intel
* VK_KHR_draw_indirect_count on Intel
* VK_EXT_conditional_rendering on Intel
* VK_EXT_memory_budget on RADV
* GL_ARB_parallel_shader_compile on all drivers.
* GL_EXT_gpu_shader4 on all GL 3.1 drivers.
* GL_EXT_shader_image_load_formatted on radeonsi.
* GL_EXT_texture_buffer_object on all GL 3.1 drivers.
* GL_EXT_texture_compression_s3tc_srgb on Gallium drivers and i965 (ES extension).
* GL_NV_compute_shader_derivatives on iris and i965.
* GL_KHR_parallel_shader_compile on all drivers.
* VK_EXT_buffer_device_address on Intel and RADV.
* VK_EXT_depth_clip_enable on Intel and RADV.
* VK_KHR_ycbcr_image_arrays on Intel.
* VK_EXT_inline_uniform_block on Intel and RADV.
* VK_EXT_external_memory_host on Intel.
* VK_EXT_host_query_reset on Intel and RADV.
* VK_KHR_surface_protected_capabilities on Intel and RADV.
* VK_EXT_pipeline_creation_feedback on Intel and RADV.
* VK_KHR_8bit_storage on RADV.
* VK_AMD_gpu_shader_int16 on RADV.
* VK_AMD_gpu_shader_half_float on RADV.
* VK_NV_compute_shader_derivatives on Intel.
* VK_KHR_shader_float16_int8 on Intel and RADV (RADV only supports int8).
* VK_KHR_shader_atomic_int64 on Intel.
* VK_EXT_descriptor_indexing on Intel.
* VK_KHR_shader_float16_int8 on Intel and RADV.
* GL_INTEL_conservative_rasterization on iris.
* VK_EXT_memory_budget on Intel.
24 files changed, 176 insertions, 774 deletions
diff --git a/graphics/MesaLib/Makefile b/graphics/MesaLib/Makefile index 7f08e4759c6..87d3372c436 100644 --- a/graphics/MesaLib/Makefile +++ b/graphics/MesaLib/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.151 2019/08/22 09:59:47 nia Exp $ +# $NetBSD: Makefile,v 1.152 2019/08/22 17:24:01 nia Exp $ -DISTNAME= mesa-18.3.4 +DISTNAME= mesa-19.1.4 PKGNAME= ${DISTNAME:S/mesa/MesaLib/} -PKGREVISION= 1 CATEGORIES= graphics x11 MASTER_SITES= https://mesa.freedesktop.org/archive/ EXTRACT_SUFX= .tar.xz @@ -12,8 +11,7 @@ HOMEPAGE= https://www.mesa3d.org/ COMMENT= Open source OpenGL implementation LICENSE= mit -GNU_CONFIGURE= yes -USE_TOOLS+= autoconf automake autoreconf bison pkg-config gmake flex +USE_TOOLS+= pkg-config USE_LANGUAGES= c99 c++ USE_LIBTOOL= yes @@ -29,27 +27,6 @@ PKGCONFIG_OVERRIDE+= src/mesa/drivers/dri/dri.pc.in PKGCONFIG_OVERRIDE+= src/mesa/drivers/osmesa/osmesa.pc.in PKGCONFIG_OVERRIDE+= src/mesa/gl.pc.in -CONFIGURE_ARGS+= --enable-shared-glapi - -# Work around a buildlink and/or libtool bug: -# In the libtool install/relink stage, if we want to link with two static -# archives named libglapi.la but in different directories, bad things happen. -SUBST_CLASSES+= wrapper-bug -SUBST_STAGE.wrapper-bug= pre-configure -SUBST_MESSAGE.wrapper-bug= Renaming non-shared libglapi.la in Makefiles -SUBST_FILES.wrapper-bug= src/gallium/targets/libgl-xlib/Makefile.am -SUBST_FILES.wrapper-bug+= src/gallium/targets/osmesa/Makefile.am -SUBST_FILES.wrapper-bug+= src/glx/Makefile.am -SUBST_FILES.wrapper-bug+= src/mapi/Makefile.am -SUBST_FILES.wrapper-bug+= src/mesa/drivers/osmesa/Makefile.am -SUBST_FILES.wrapper-bug+= src/mesa/drivers/x11/Makefile.am -SUBST_SED.wrapper-bug= -e 's,shared-glapi/libglapi\.la,shared-glapi/libglapi_tmp_rename.la,g' -SUBST_SED.wrapper-bug+= -e 's,shared_glapi_libglapi_la,shared_glapi_libglapi_tmp_rename_la,g' -SUBST_SED.wrapper-bug+= -e 's,libglapi\.la,libglapi_impl.la,g' -SUBST_SED.wrapper-bug+= -e 's,libglapi_la,libglapi_impl_la,g' -SUBST_SED.wrapper-bug+= -e 's,libglapi_tmp_rename\.la,libglapi.la,g' -SUBST_SED.wrapper-bug+= -e 's,libglapi_tmp_rename_la,libglapi_la,g' - # Replace /etc/drirc.d with ${PREFIX}/etc/drirc.d SUBST_CLASSES+= drirc SUBST_STAGE.drirc= pre-configure @@ -57,6 +34,12 @@ SUBST_MESSAGE.drirc= Fixing hardcoded /etc/drirc.d references SUBST_FILES.drirc+= src/util/xmlconfig.c SUBST_SED.drirc+= -e 's|/etc|${PREFIX}/etc|g' +SUBST_CLASSES+= py +SUBST_STAGE.py= pre-configure +SUBST_MESSAGE.py= Fixing Python binary name +SUBST_FILES.py+= meson.build +SUBST_VARS.py+= PYTHONBIN + CFLAGS.SunOS+= -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS CXXFLAGS.SunOS+= -Drestrict=__restrict__ LDFLAGS.SunOS+= -lsocket -lnsl @@ -66,40 +49,36 @@ LDFLAGS.SunOS+= -lsocket -lnsl .include "options.mk" .if ${MACHINE_ARCH} == "i386" -CONFIGURE_ARGS+= --enable-glx-read-only-text +MESON_ARGS+= -Dglx-read-only-text=true .endif -PYTHON_FOR_BUILD_ONLY= yes -BUILD_DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako -# needed to build vulkan support -BUILD_DEPENDS+= ${PYPKGPREFIX}-cElementTree-[0-9]*:../../textproc/py-cElementTree -CONFIGURE_ENV+= PYTHON=${PYTHONBIN} -.include "../../lang/python/tool.mk" +MESON_ARGS+= -Dshared-glapi=true -# Handle platforms without exp2 -.if !empty(MACHINE_PLATFORM:MNetBSD-[1-5].*-*) -CPPFLAGS+= -Dexp2\(x\)=exp\(\(x\)\*M_LN2\) -CPPFLAGS+= -Dexp2f\(x\)=expf\(\(x\)\*M_LN2\) -.endif +CPPFLAGS+= -DHAVE_NOATEXIT # Work around Xorg segfaulting in radeon driver due to wrong alloca being used CFLAGS.NetBSD+= -Dalloca=__builtin_alloca CXXFLAGS.NetBSD+= -Dalloca=__builtin_alloca +PYTHON_FOR_BUILD_ONLY= yes +BUILD_DEPENDS+= ${PYPKGPREFIX}-mako-[0-9]*:../../devel/py-mako +# needed to build vulkan support +BUILD_DEPENDS+= ${PYPKGPREFIX}-cElementTree-[0-9]*:../../textproc/py-cElementTree + pre-configure: touch ${WRKSRC}/src/glx/apple_dummy.cpp - cd ${WRKSRC} && autoreconf -vif DRIRC_DIR= ${PKG_SYSCONFDIR}/drirc.d EGDIR= ${PREFIX}/share/examples/mesa OWN_DIRS+= ${DRIRC_DIR} INSTALLATION_DIRS+= ${EGDIR} -CONF_FILES+= ${EGDIR}/00-mesa-defaults.conf \ - ${DRIRC_DIR}/00-mesa-defaults.conf +CONF_FILES+= ${EGDIR}/00-mesa-defaults.conf \ + ${DRIRC_DIR}/00-mesa-defaults.conf post-install: ${INSTALL_DATA} ${WRKSRC}/src/util/00-mesa-defaults.conf ${DESTDIR}${EGDIR} +.include "../../devel/py-meson/build.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../textproc/expat/buildlink3.mk" .include "../../x11/libXrandr/buildlink3.mk" diff --git a/graphics/MesaLib/PLIST b/graphics/MesaLib/PLIST index 8f583078ea4..17bdfb1f4b4 100644 --- a/graphics/MesaLib/PLIST +++ b/graphics/MesaLib/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.39 2019/08/21 13:35:28 nia Exp $ +@comment $NetBSD: PLIST,v 1.40 2019/08/22 17:24:01 nia Exp $ ${PLIST.egl}include/EGL/egl.h ${PLIST.egl}include/EGL/eglext.h ${PLIST.egl}include/EGL/eglextchromium.h @@ -49,17 +49,27 @@ ${PLIST.r300}lib/dri/r300_dri.so ${PLIST.r600}lib/dri/r600_dri.so @comment ${PLIST.vdpau}lib/dri/r600_drv_video.la ${PLIST.vaapi}lib/dri/r600_drv_video.so -${PLIST.radeon_dri}lib/dri/radeon_dri.so +${PLIST.r100}lib/dri/radeon_dri.so ${PLIST.radeonsi}lib/dri/radeonsi_dri.so ${PLIST.vaapi}lib/dri/radeonsi_drv_video.so ${PLIST.swrast_dri}lib/dri/swrast_dri.so ${PLIST.vc4}lib/dri/vc4_dri.so ${PLIST.svga}lib/dri/vmwgfx_dri.so -${PLIST.egl}lib/libEGL.la -lib/libGL.la -${PLIST.glesv1}lib/libGLESv1_CM.la -${PLIST.glesv2}lib/libGLESv2.la -${PLIST.osmesa}lib/libOSMesa.la +${PLIST.egl}lib/libEGL.so +${PLIST.egl}lib/libEGL.so.1 +${PLIST.egl}lib/libEGL.so.1.0.0 +lib/libGL.so +lib/libGL.so.1 +lib/libGL.so.${GLVER} +${PLIST.glesv1}lib/libGLESv1_CM.so +${PLIST.glesv1}lib/libGLESv1_CM.so.1 +${PLIST.glesv1}lib/libGLESv1_CM.so.1.1.0 +${PLIST.glesv2}lib/libGLESv2.so +${PLIST.glesv2}lib/libGLESv2.so.2 +${PLIST.glesv2}lib/libGLESv2.so.2.0.0 +${PLIST.osmesa}lib/libOSMesa.so +${PLIST.osmesa}lib/libOSMesa.so.8 +${PLIST.osmesa}lib/libOSMesa.so.8.0.0 ${PLIST.xvmc}${PLIST.nouveau}lib/libXvMCnouveau.so ${PLIST.xvmc}${PLIST.nouveau}lib/libXvMCnouveau.so.1 ${PLIST.xvmc}${PLIST.nouveau}lib/libXvMCnouveau.so.1.0 @@ -68,11 +78,15 @@ ${PLIST.xvmc}${PLIST.r600}lib/libXvMCr600.so ${PLIST.xvmc}${PLIST.r600}lib/libXvMCr600.so.1 ${PLIST.xvmc}${PLIST.r600}lib/libXvMCr600.so.1.0 ${PLIST.xvmc}${PLIST.r600}lib/libXvMCr600.so.1.0.0 -${PLIST.gbm}lib/libgbm.la -lib/libglapi.la -${PLIST.vulkan}lib/libvulkan_intel.la -${PLIST.vulkan}lib/libvulkan_radeon.la -${PLIST.xatracker}lib/libxatracker.la +${PLIST.gbm}lib/libgbm.so +${PLIST.gbm}lib/libgbm.so.1 +${PLIST.gbm}lib/libgbm.so.1.0.0 +lib/libglapi.so +lib/libglapi.so.0 +lib/libglapi.so.0.0.0 +${PLIST.xatracker}lib/libxatracker.so +${PLIST.xatracker}lib/libxatracker.so.2 +${PLIST.xatracker}lib/libxatracker.so.2.5.0 ${PLIST.dri}lib/pkgconfig/dri.pc ${PLIST.egl}lib/pkgconfig/egl.pc ${PLIST.gbm}lib/pkgconfig/gbm.pc @@ -99,4 +113,5 @@ ${PLIST.vdpau}lib/vdpau/libvdpau_radeonsi.so.1.0 ${PLIST.vdpau}lib/vdpau/libvdpau_radeonsi.so.1.0.0 ${PLIST.vulkan}share/vulkan/icd.d/intel_icd.${MACHINE_ARCH}.json ${PLIST.vulkan}share/vulkan/icd.d/radeon_icd.${MACHINE_ARCH}.json +share/drirc.d/00-mesa-defaults.conf share/examples/mesa/00-mesa-defaults.conf diff --git a/graphics/MesaLib/distinfo b/graphics/MesaLib/distinfo index 25072d45dfd..4343229176a 100644 --- a/graphics/MesaLib/distinfo +++ b/graphics/MesaLib/distinfo @@ -1,11 +1,10 @@ -$NetBSD: distinfo,v 1.124 2019/08/21 13:35:28 nia Exp $ +$NetBSD: distinfo,v 1.125 2019/08/22 17:24:01 nia Exp $ -SHA1 (mesa-18.3.4.tar.xz) = a9a6ea0f5b99df362dc35770ade10c1738e2629c -RMD160 (mesa-18.3.4.tar.xz) = 659565933a679d04dda58c7314e5d7c172e46d12 -SHA512 (mesa-18.3.4.tar.xz) = e4ead944ba053aa05425e9e199d633f576dfa424976253fc32438e8db6da5e8d381122e4c4b7fb18f94177421f208bab5567cfec8d2692d104e266483ca02a99 -Size (mesa-18.3.4.tar.xz) = 11875224 bytes -SHA1 (patch-configure.ac) = 5283215d27410c80f81ffd28b3f7b02506d1c1b8 -SHA1 (patch-include_GL_internal_dri__interface.h) = 146d2f3f3e50fc1947e8941301d9cf9d90a035e2 +SHA1 (mesa-19.1.4.tar.xz) = 393053bfa41b7fc65add756713004f034c39c3ce +RMD160 (mesa-19.1.4.tar.xz) = 1d813c4a212710bb6fa8db184b4618788851cd15 +SHA512 (mesa-19.1.4.tar.xz) = 234032d917c9b378c3f6ceb921677b64e549344c3957331810b50fd73e0dccd2f4f62e2bd39e619590f389bc58fdab10fab4b88f7c117557cbeb1dda049b9fc5 +Size (mesa-19.1.4.tar.xz) = 10938008 bytes +SHA1 (patch-meson.build) = a9fdcaa59aed9b56ff95d4153dd73064e2261c45 SHA1 (patch-src_amd_common_ac__debug.c) = 8233367c3b5bc344442ea8d19488fdd1e3791ae9 SHA1 (patch-src_amd_vulkan_winsys_amdgpu_radv__amdgpu__cs.c) = 1fe81a7b16e36dc9125400c20543271216a33a45 SHA1 (patch-src_compiler_builtin__type__macros.h) = 857bca0c0f55ec8d7a20b3807c7a5d7bd06bdfbf @@ -15,8 +14,6 @@ SHA1 (patch-src_egl_drivers_dri2_platform__x11.c) = 49e48c31eacb79d1da357fe70eaf SHA1 (patch-src_egl_main_eglglobals.c) = 0d52014f52e62fc5fa6650336ddb0011ecf331e6 SHA1 (patch-src_gallium_auxiliary_drivers_trace_tr__dump.c) = 360e1608508a7bbb41acecd58930781038e2309e SHA1 (patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c) = f913b779404e6bd8ae707a4fd66eb7c1dca9b311 -SHA1 (patch-src_gallium_auxiliary_util_u__format__tests.c) = 4d5e4677c2825778c43440ab131b8807f6840975 -SHA1 (patch-src_gallium_auxiliary_util_u__helpers.c) = a955657951d6d7d84ef349b3b6639a94e44994a5 SHA1 (patch-src_gallium_drivers_nouveau_nouveau__vp3__video.c) = 04f95784c3270c9bb7e95377982e217962481525 SHA1 (patch-src_gallium_drivers_nouveau_nv50_nv84__video.c) = 1b4239fe053523835ecac006894bdb0cde0ee626 SHA1 (patch-src_gallium_drivers_radeonsi_si__state__shaders.c) = ed51a57765f2349bc91fd509dc03e709241bd899 @@ -25,47 +22,36 @@ SHA1 (patch-src_gallium_include_pipe_p__config.h) = f4e38eac66167b619c30076bb014 SHA1 (patch-src_gallium_state__trackers_clover_llvm_invocation.cpp) = 3053db09fbfffffd82e232b60b244a0a80c8f181 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_gbm_Makefile.am) = 5f3107afbf64b97f7d21ce427cecc4fb78974db3 -SHA1 (patch-src_glx_Makefile.am) = 869c4f2388f835b9b296b3c84c2a03ef7717f17d SHA1 (patch-src_glx_apple_apple__glapi.c) = c4eea8dabf74eb03d22da4eb834b18ae3384c63b SHA1 (patch-src_glx_dri__common.h) = 0274877f8c65a4bb729536a897df4704897a4c6e SHA1 (patch-src_glx_dri__glx.c) = 8fd48776e9953b18bd17ba130d90ae2935e67242 SHA1 (patch-src_glx_glxclient.h) = f0358179ae397bc8677597b0ccb9a471f40f15de SHA1 (patch-src_glx_glxcurrent.c) = 8b8e949eded13491c5865601253c6e7d4b06e228 SHA1 (patch-src_glx_glxext.c) = 15c2c5e0c6b5095ce849fb86ad148aa05d7d907a -SHA1 (patch-src_intel_Makefile.tools.am) = 5253d5972b48ae3bc8d648bb9f479dcf6cbd3fab SHA1 (patch-src_intel_compiler_brw__fs__bank__conflicts.cpp) = 6276d2c6846bb4dd08699921bec4e20202a17478 +SHA1 (patch-src_intel_isl_isl__tiled__memcpy.c) = 9b79991648ab4c39ae14df219135cd2b01c1b3c0 +SHA1 (patch-src_intel_perf_gen__perf.h) = cbc9c8efe6ce127b8dcb9f2c733d3427f114c5c0 SHA1 (patch-src_intel_tools_aub__mem.c) = 6a21ecb4cfbdf216474b3be16bda441bb1390350 SHA1 (patch-src_intel_tools_aubinator__error__decode.c) = d8f636e3c3e76763a505a1dce23de0b198ad62fa SHA1 (patch-src_intel_vulkan_anv__allocator.c) = da5a11c95d17d6476e7141572264a215807b8cd7 -SHA1 (patch-src_intel_vulkan_anv__device.c) = 5d581dcd9695c869855f200c575cf98b7165c1ba SHA1 (patch-src_intel_vulkan_anv__gem.c) = b8eb487fa704151e7c3c3b1d23973b2b0aa5922e SHA1 (patch-src_intel_vulkan_anv__gem__stubs.c) = ad5a4bd9fe521cf73faf2f0cf0f493a0b40f4c20 SHA1 (patch-src_intel_vulkan_anv__queue.c) = 2dbf7dfd0c77f74f510032bf8d12109f58c50a30 SHA1 (patch-src_mapi_entry__x86-64__tls.h) = 11b7ef1da435fa17fc7025a46a123d447d6a7d07 SHA1 (patch-src_mapi_entry__x86__tls.h) = 11c0f5302d305a77f3a1780d44a2c61f48a66273 -SHA1 (patch-src_mapi_glapi_gen_gl__gentable.py) = 0b1d4ef3f78a9b3726ef7f9921608a48a5e4ac56 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__oa__metrics.c) = bb7ca6a8b9e42c1dc4e59a3cf78d063699f7b66e -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 -SHA1 (patch-src_mesa_drivers_x11_Makefile.am) = 172a8da11a620edce790f64338a0390cd1e93188 -SHA1 (patch-src_mesa_main_context.c) = 74226013b56ad6c9678f1970458538b35967678f SHA1 (patch-src_mesa_main_extensions.c) = 2f48bdb1176c2878bb33bcfab7556172b50a987e SHA1 (patch-src_mesa_main_macros.h) = c5dceaa8dc02a58e5b2273d82e3fe1cc12e327d3 SHA1 (patch-src_mesa_main_shader__query.cpp) = 3f9c31645d87855759def11344dee16af23c7be3 SHA1 (patch-src_mesa_x86_common__x86.c) = f8c4b93443ef66d017f6aa114b877565b30f2598 -SHA1 (patch-src_util_Makefile.am) = e390cd47b784ad08987b81fdbce537968ad4a624 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) = 31d4514538ef5ee53012695eb5c66134aaec981e SHA1 (patch-src_util_u__queue.c) = ed1ea3f6fc37e9a64894a3e865c48691b6e01b2c SHA1 (patch-src_util_u__thread.h) = f0453485bb62d0b7c00a1b840cfce2726ebcbfd2 -SHA1 (patch-src_util_xmlconfig.c) = ad5619e067957b120a70c1c63421c92b356e16ac diff --git a/graphics/MesaLib/options.mk b/graphics/MesaLib/options.mk index 3d395c2f6f0..8dd88a8d607 100644 --- a/graphics/MesaLib/options.mk +++ b/graphics/MesaLib/options.mk @@ -1,28 +1,33 @@ -# $NetBSD: options.mk,v 1.65 2019/08/21 13:35:28 nia Exp $ +# $NetBSD: options.mk,v 1.66 2019/08/22 17:24:01 nia Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.MesaLib PKG_SUPPORTED_OPTIONS= llvm dri wayland PKG_SUGGESTED_OPTIONS= -PKG_SUPPORTED_OPTIONS+= glx-tls xvmc debug PKG_SUPPORTED_OPTIONS+= vdpau vaapi PKG_SUPPORTED_OPTIONS+= osmesa PKG_SUPPORTED_OPTIONS+= glesv1 glesv2 -PKG_SUPPORTED_OPTIONS+= xa -PKG_SUPPORTED_OPTIONS+= noatexit +PKG_SUPPORTED_OPTIONS+= gallium-xa +PKG_SUPPORTED_OPTIONS+= gallium-xvmc PKG_SUPPORTED_OPTIONS+= vulkan -# PKG_SUGGESTED_OPTIONS+= xvmc PKG_SUGGESTED_OPTIONS+= vdpau vaapi PKG_SUGGESTED_OPTIONS+= glesv1 glesv2 -PKG_SUGGESTED_OPTIONS+= xa -PKG_SUGGESTED_OPTIONS+= noatexit +PKG_SUGGESTED_OPTIONS+= gallium-xa +#PKG_SUGGESTED_OPTIONS+= gallium-xvmc +PKG_SUGGESTED_OPTIONS+= osmesa + +PKG_OPTIONS_LEGACY_OPTS+= xa:gallium-xa +PKG_OPTIONS_LEGACY_OPTS+= xvmc:gallium-xvmc # The LLVM option enables JIT accelerated software rendering and # is also required to support the latest RADEON GPUs, so enable it -# by default on platforms where such GPUs might be encountered. -.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && \ +# by default on platforms where such GPUs might be encountered +# or accelerated software rendering might be useful. +.if (${MACHINE_ARCH} == "i386" || \ + ${MACHINE_ARCH} == "x86_64" || \ + ${MACHINE_ARCH} == "aarch64") && \ ${OPSYS} != "SunOS" && ${OPSYS} != "Darwin" PKG_SUGGESTED_OPTIONS+= llvm .endif @@ -34,25 +39,13 @@ PKG_SUGGESTED_OPTIONS+= llvm PKG_SUGGESTED_OPTIONS+= dri .endif - -# Use Thread Local Storage in GLX where it is supported by Mesa and works. -.if \ - !empty(MACHINE_PLATFORM:MNetBSD-[789].*-i386) || \ - !empty(MACHINE_PLATFORM:MNetBSD-[789].*-x86_64) || \ - !empty(MACHINE_PLATFORM:MLinux-*-i386) || \ - !empty(MACHINE_PLATFORM:MLinux-*-x86_64) || \ - !empty(MACHINE_PLATFORM:MFreeBSD-1[0-9].*-x86_64) || \ - !empty(MACHINE_PLATFORM:MDragonFly-*-x86_64) -PKG_SUGGESTED_OPTIONS+= glx-tls -.endif - .include "../../mk/bsd.options.mk" # gallium PLIST_VARS+= freedreno i915 i965 nouveau r300 r600 radeonsi \ swrast svga vc4 virgl vulkan # classic DRI -PLIST_VARS+= dri swrast_dri nouveau_dri radeon_dri r200 +PLIST_VARS+= dri swrast_dri nouveau_dri r100 r200 # other features PLIST_VARS+= egl gbm vaapi vdpau wayland xatracker PLIST_VARS+= osmesa xvmc @@ -72,53 +65,40 @@ PLIST.wayland= yes .endif .if !empty(PKG_OPTIONS:Mdri) -CONFIGURE_ARGS+= --enable-dri # Having DRI3 and egl compiled in by default doesn't hurt, the X server # will only use it if it is supported at run time. -CONFIGURE_ARGS+= --enable-dri3 +MESON_ARGS+= -Ddri3=true . if ${OPSYS} != "Darwin" -CONFIGURE_ARGS+= --enable-egl -CONFIGURE_ARGS+= --enable-gbm +MESON_ARGS+= -Degl=true +MESON_ARGS+= -Dgbm=true PLIST.egl= yes PLIST.gbm= yes . else -CONFIGURE_ARGS+= --disable-egl -CONFIGURE_ARGS+= --disable-gbm +MESON_ARGS+= -Degl=false +MESON_ARGS+= -Dgbm=false . endif . if !empty(PKG_OPTIONS:Mosmesa) -CONFIGURE_ARGS+= --enable-osmesa +MESON_ARGS+= -Dosmesa=classic PLIST.osmesa= yes +. else +MESON_ARGS+= -Dosmesa=none . endif . if !empty(PKG_OPTIONS:Mglesv1) -CONFIGURE_ARGS+= --enable-gles1 +MESON_ARGS+= -Dgles1=true PLIST.glesv1= yes . else -CONFIGURE_ARGS+= --disable-gles1 +MESON_ARGS+= -Dgles1=false . endif . if !empty(PKG_OPTIONS:Mglesv2) -CONFIGURE_ARGS+= --enable-gles2 +MESON_ARGS+= -Dgles2=true PLIST.glesv2= yes . else -CONFIGURE_ARGS+= --disable-gles2 +MESON_ARGS+= -Dgles2=false . endif -. if !empty(PKG_OPTIONS:Mglx-tls) -# Recommended by -# http://www.freedesktop.org/wiki/Software/Glamor/ -CONFIGURE_ARGS+= --enable-glx-tls -. else -# (EE) Failed to load /usr/pkg/lib/xorg/modules/extensions/libglx.so: -# /usr/pkg/lib/libGL.so.1: Use of initialized Thread Local Storage with model -# initial-exec and dlopen is not supported -CONFIGURE_ARGS+= --disable-glx-tls -. endif # glx-tls - -# DRI on Linux needs either sysfs or udev -CONFIGURE_ARGS.Linux+= --enable-sysfs - PLIST.dri= yes . if ${OPSYS} != "Darwin" @@ -134,10 +114,6 @@ VULKAN_DRIVERS= # # Software rasterizer PLIST.swrast_dri= yes DRI_DRIVERS+= swrast -. if ${OPSYS} != "Darwin" -PLIST.swrast= yes -GALLIUM_DRIVERS+= swrast -. endif # x86 only drivers . if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && ${OPSYS} != "Darwin" @@ -147,7 +123,6 @@ GALLIUM_DRIVERS+= svga # Intel chipsets, x86 only PLIST.i915= yes -GALLIUM_DRIVERS+= i915 DRI_DRIVERS+= i915 PLIST.i965= yes @@ -157,8 +132,8 @@ DRI_DRIVERS+= i965 # Vulkan support . if !empty(PKG_OPTIONS:Mvulkan) +VULKAN_DRIVERS+= amd VULKAN_DRIVERS+= intel -VULKAN_DRIVERS+= radeon PLIST.vulkan= yes . endif @@ -198,9 +173,9 @@ PLIST.nouveau= yes GALLIUM_DRIVERS+= nouveau . endif -# classic DRI radeon -PLIST.radeon_dri= yes -DRI_DRIVERS+= radeon +# classic DRI r100 +PLIST.r100= yes +DRI_DRIVERS+= r100 # classic DRI r200 PLIST.r200= yes @@ -233,9 +208,11 @@ PLIST.vdpau= yes . endif # vdpau # XA is useful for accelerating xf86-video-vmware -. if !empty(PKG_OPTIONS:Mxa) -CONFIGURE_ARGS+= --enable-xa +. if !empty(PKG_OPTIONS:Mgallium-xa) +MESON_ARGS+= -Dgallium-xa=true PLIST.xatracker= yes +. else +MESON_ARGS+= -Dgallium-xa=false . endif # AMD Radeon r300 @@ -244,56 +221,42 @@ GALLIUM_DRIVERS+= r300 # AMD Canary Islands GPUs PLIST.radeonsi= yes GALLIUM_DRIVERS+= radeonsi -CONFIGURE_ARGS+= --enable-llvm -CONFIGURE_ARGS+= --enable-llvm-shared-libs - -. if !exists(/usr/include/libelf.h) -. include "../../devel/libelf/buildlink3.mk" -. endif +MESON_ARGS+= -Dllvm=true BUILDLINK_API_DEPENDS.libLLVM+= libLLVM>=7.0 +. include "../../devel/libelf/buildlink3.mk" . include "../../lang/libLLVM/buildlink3.mk" -CONFIGURE_ENV+= ac_cv_path_ac_pt_LLVM_CONFIG=${LLVM_CONFIG_PATH:Q} . else # !llvm -CONFIGURE_ARGS+= --disable-xa -CONFIGURE_ARGS+= --disable-llvm -CONFIGURE_ARGS+= --disable-llvm-shared-libs +MESON_ARGS+= -Dgallium-xa=false +MESON_ARGS+= -Dllvm=false +MESON_ARGS+= -Dllvm-shared=false . endif # llvm - -CONFIGURE_ARGS+= --with-gallium-drivers=${GALLIUM_DRIVERS:ts,} -CONFIGURE_ARGS+= --with-dri-drivers=${DRI_DRIVERS:ts,} -CONFIGURE_ARGS+= --with-vulkan-drivers=${VULKAN_DRIVERS:ts,} -CONFIGURE_ARGS+= --with-platforms=${EGL_PLATFORMS:S/ /,/gW} - +PLIST_SUBST+= GLVER="1.2.0" +MESON_ARGS+= -Dgallium-drivers=${GALLIUM_DRIVERS:ts,} +MESON_ARGS+= -Ddri-drivers=${DRI_DRIVERS:ts,} +MESON_ARGS+= -Dvulkan-drivers=${VULKAN_DRIVERS:ts,} +MESON_ARGS+= -Dplatforms=${EGL_PLATFORMS:ts,} .else # !dri -CONFIGURE_ARGS+= --with-gallium-drivers= -CONFIGURE_ARGS+= --with-dri-drivers= -CONFIGURE_ARGS+= --with-vulkan-drivers= -CONFIGURE_ARGS+= --disable-dri -CONFIGURE_ARGS+= --disable-dri3 -CONFIGURE_ARGS+= --disable-egl -CONFIGURE_ARGS+= --disable-gbm -CONFIGURE_ARGS+= --disable-gles1 -CONFIGURE_ARGS+= --disable-gles2 -CONFIGURE_ARGS+= --enable-xlib-glx -CONFIGURE_ARGS+= --with-platforms=x11 +PLIST_SUBST+= GLVER="1.6.0" +MESON_ARGS+= -Dgallium-drivers= +MESON_ARGS+= -Ddri-drivers= +MESON_ARGS+= -Dvulkan-drivers= +MESON_ARGS+= -Ddri3=false +MESON_ARGS+= -Degl=false +MESON_ARGS+= -Dgbm=false +MESON_ARGS+= -Dgles1=false +MESON_ARGS+= -Dgles2=false +MESON_ARGS+= -Dglx=xlib +MESON_ARGS+= -Dplatforms=x11 . if !empty(PKG_OPTIONS:Mllvm) PKG_FAIL_REASON+= "The llvm PKG_OPTION must also be disabled when dri is disabled" . endif .endif # dri -.if !empty(PKG_OPTIONS:Mdebug) -CONFIGURE_ARGS+= --enable-debug -.endif - -.if !empty(PKG_OPTIONS:Mxvmc) -CONFIGURE_ARGS+= --enable-xvmc +.if !empty(PKG_OPTIONS:Mgallium-xvmc) +MESON_ARGS+= -Dgallium-xvmc=true .include "../../x11/libXvMC/buildlink3.mk" PLIST.xvmc= yes .else -CONFIGURE_ARGS+= --disable-xvmc -.endif - -.if !empty(PKG_OPTIONS:Mnoatexit) -CPPFLAGS+= -DHAVE_NOATEXIT +MESON_ARGS+= -Dgallium-xvmc=false .endif diff --git a/graphics/MesaLib/patches/patch-configure.ac b/graphics/MesaLib/patches/patch-configure.ac deleted file mode 100644 index ed8281592e5..00000000000 --- a/graphics/MesaLib/patches/patch-configure.ac +++ /dev/null @@ -1,110 +0,0 @@ -$NetBSD: patch-configure.ac,v 1.3 2019/08/21 13:35:28 nia Exp $ - -Don't check for pthread stubs anywhere, as we don't provide it. - -From FreeBSD ports graphics/mesa-dri 18.0.0, -DragonFly dports graphics/mesa-dri 17.3.1, -files/patch-configure - -* Extend to FreeBSD -osx: ld does not support --build-ld - -* For FreeBSD: Use monotonic clock for timeouts. - -* For FreeBSD: Implement futex_wake() and futex_wait() via _umtx_op() - -* dri3: Mon Apr 10 19:14:48 2017 UTC -DRI3 remains enabled at compile time, but it is now disabled at -runtime for stock FreeBSD. Set LIBGL_DRI3_ENABLE in the -environment to enable DRI3. -This change was made to work around a problem in libEGL, -which fails to fall back to using DRI2 when run on a system -without DRI3 support. - ---- configure.ac.orig 2019-01-17 11:26:22.000000000 +0000 -+++ configure.ac -@@ -726,7 +726,7 @@ dnl - dnl OSX linker does not support build-id - dnl - case "$host_os" in --darwin*) -+darwin* | freebsd* | solaris*) - LD_BUILD_ID="" - ;; - *) -@@ -931,7 +931,7 @@ case "$host_os" in - darwin*) - ;; - *) -- AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=], -+ AC_CHECK_FUNCS([clock_gettime clock_nanosleep], [CLOCK_LIB=], - [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt], - [AC_MSG_ERROR([Could not find clock_gettime])])]) - AC_SUBST([CLOCK_LIB]) -@@ -941,6 +941,9 @@ esac - dnl See if posix_memalign is available - AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"]) - -+dnl See if open_memstream is available -+AC_CHECK_FUNC([open_memstream], [DEFINES="$DEFINES -DHAVE_OPEN_MEMSTREAM"]) -+ - dnl Check for zlib - PKG_CHECK_MODULES([ZLIB], [zlib >= $ZLIB_REQUIRED]) - DEFINES="$DEFINES -DHAVE_ZLIB" -@@ -966,7 +969,7 @@ PTHREAD_LIBS="$PTHREAD_LIBS -pthread" - dnl pthread-stubs is mandatory on some BSD platforms, due to the nature of the - dnl project. Even then there's a notable issue as described in the project README - case "$host_os" in --linux* | cygwin* | darwin* | solaris* | *-gnu* | gnu* | openbsd*) -+*) - pthread_stubs_possible="no" - ;; - * ) -@@ -995,7 +998,10 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([[ - LIBS="$save_LIBS" - - dnl Check for futex for fast inline simple_mtx_t. --AC_CHECK_HEADER([linux/futex.h], [DEFINES="$DEFINES -DHAVE_LINUX_FUTEX_H"]) -+AC_CHECK_HEADERS([linux/futex.h sys/umtx.h], -+ [DEFINES="$DEFINES -DHAVE_LINUX_FUTEX_H"],, -+ [#include <errno.h> -+ #include <sys/types.h>]) - - dnl SELinux awareness. - AC_ARG_ENABLE([selinux], -@@ -1278,7 +1284,7 @@ fi - AC_SUBST(LIBSENSORS_LIBS) - - case "$host_os" in --linux*) -+linux* | freebsd* | dragonfly*) - dri3_default=yes - ;; - *) -@@ -1908,7 +1914,7 @@ if test x"$enable_dri3" = xyes; then - dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRED" - PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], [have_dri3_modifiers=yes], [have_dri3_modifiers=no]) - -- if test "x$have_dri3_modifiers" == xyes; then -+ if test "x$have_dri3_modifiers" = xyes; then - DEFINES="$DEFINES -DHAVE_DRI3_MODIFIERS" - fi - fi -@@ -2505,8 +2511,6 @@ if test "x$enable_opencl" = xyes; then - CLANG_LIBDIR=${LLVM_LIBDIR} - fi - CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION} -- AS_IF([test ! -f "$CLANG_RESOURCE_DIR/include/stddef.h"], -- [AC_MSG_ERROR([Could not find clang internal header stddef.h in $CLANG_RESOURCE_DIR Use --with-clang-libdir to specify the correct path to the clang libraries.])]) - fi - AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes) - AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes) -@@ -2941,7 +2945,7 @@ if test "x$enable_llvm" = xyes; then - dnl the LLVM library propagated in the Libs.private of the respective .pc - dnl file which ensures complete dependency information when statically - dnl linking. -- if test "x$enable_glx" == xgallium-xlib; then -+ if test "x$enable_glx" = xgallium-xlib; then - GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $LLVM_LIBS" - fi - if test "x$enable_gallium_osmesa" = xyes; then diff --git a/graphics/MesaLib/patches/patch-include_GL_internal_dri__interface.h b/graphics/MesaLib/patches/patch-include_GL_internal_dri__interface.h deleted file mode 100644 index 3aafc5c5e4e..00000000000 --- a/graphics/MesaLib/patches/patch-include_GL_internal_dri__interface.h +++ /dev/null @@ -1,27 +0,0 @@ -$NetBSD: patch-include_GL_internal_dri__interface.h,v 1.1 2019/08/21 13:35:28 nia Exp $ - -From FreeBSD ports graphics/mesa-dri 17.2.4. - -GCC on 9.x doesn't allow types to be overwritten, these types are defined -in drm.h also, which causes build issues in xorg-server. - ---- include/GL/internal/dri_interface.h.orig 2017-11-20 14:25:47.000000000 +0000 -+++ include/GL/internal/dri_interface.h -@@ -40,6 +40,9 @@ - #ifndef DRI_INTERFACE_H - #define DRI_INTERFACE_H - -+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) -+#include <drm.h> -+#else - #ifdef HAVE_LIBDRM - #include <drm.h> - #else -@@ -47,6 +50,7 @@ typedef unsigned int drm_context_t; - typedef unsigned int drm_drawable_t; - typedef struct drm_clip_rect drm_clip_rect_t; - #endif -+#endif /* __FreeBSD__ || __DragonFly__ */ - - #include <stdint.h> - diff --git a/graphics/MesaLib/patches/patch-meson.build b/graphics/MesaLib/patches/patch-meson.build new file mode 100644 index 00000000000..758b21f84bd --- /dev/null +++ b/graphics/MesaLib/patches/patch-meson.build @@ -0,0 +1,24 @@ +$NetBSD: patch-meson.build,v 1.1 2019/08/22 17:24:01 nia Exp $ + +Fix python binary name. + +--- meson.build.orig 2019-08-07 16:39:16.000000000 +0000 ++++ meson.build +@@ -22,7 +22,7 @@ project( + 'mesa', + ['c', 'cpp'], + version : run_command( +- [find_program('python', 'python2', 'python3'), 'bin/meson_get_version.py'] ++ [find_program('@PYTHONBIN@', 'python', 'python2', 'python3'), 'bin/meson_get_version.py'] + ).stdout(), + license : 'MIT', + meson_version : '>= 0.45', +@@ -760,7 +760,7 @@ if with_platform_haiku + endif + + if meson.version().version_compare('>=0.50') +- prog_python = import('python').find_installation('python3') ++ prog_python = import('python').find_installation('@PYTHONBIN@') + else + prog_python = import('python3').find_python() + endif diff --git a/graphics/MesaLib/patches/patch-src_gallium_auxiliary_util_u__format__tests.c b/graphics/MesaLib/patches/patch-src_gallium_auxiliary_util_u__format__tests.c deleted file mode 100644 index 836333b7181..00000000000 --- a/graphics/MesaLib/patches/patch-src_gallium_auxiliary_util_u__format__tests.c +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-src_gallium_auxiliary_util_u__format__tests.c,v 1.2 2019/08/21 13:35:28 nia Exp $ - -On old NetBSD, NAN in math.h is __nanf.__val. Which is not constant. - ---- src/gallium/auxiliary/util/u_format_tests.c.orig 2014-09-12 21:30:32.000000000 +0000 -+++ src/gallium/auxiliary/util/u_format_tests.c -@@ -28,6 +28,10 @@ - - #include <math.h> - #include <float.h> -+#if defined(__NetBSD__) && __NetBSD_Version__ < 600000000 -+#undef NAN -+#define NAN __builtin_nanf("") -+#endif - - #include "pipe/p_config.h" - #include "u_memory.h" diff --git a/graphics/MesaLib/patches/patch-src_gallium_auxiliary_util_u__helpers.c b/graphics/MesaLib/patches/patch-src_gallium_auxiliary_util_u__helpers.c deleted file mode 100644 index 45e98adf231..00000000000 --- a/graphics/MesaLib/patches/patch-src_gallium_auxiliary_util_u__helpers.c +++ /dev/null @@ -1,34 +0,0 @@ -$NetBSD: patch-src_gallium_auxiliary_util_u__helpers.c,v 1.1 2019/08/21 13:35:28 nia Exp $ - -handle NetBSD-style pthread_setaffinity_np(3) - ---- src/gallium/auxiliary/util/u_helpers.c.orig 2018-12-11 21:13:57.000000000 +0000 -+++ src/gallium/auxiliary/util/u_helpers.c -@@ -129,6 +129,19 @@ static once_flag thread_pinning_once_fla - static void - util_set_full_cpu_affinity(void) - { -+#if defined(__NetBSD__) -+ cpuset_t *cpuset; -+ -+ cpuset = cpuset_create(); -+ if (cpuset != NULL) { -+ cpuset_zero(cpuset); -+ for (unsigned i = 0; i < cpuset_size(cpuset); i++) -+ cpuset_set(i, cpuset); -+ -+ pthread_setaffinity_np(pthread_self(), cpuset_size(cpuset), cpuset); -+ cpuset_destroy(cpuset); -+ } -+#else - cpu_set_t cpuset; - - CPU_ZERO(&cpuset); -@@ -136,6 +149,7 @@ util_set_full_cpu_affinity(void) - CPU_SET(i, &cpuset); - - pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset); -+#endif - } - - static void diff --git a/graphics/MesaLib/patches/patch-src_gbm_Makefile.am b/graphics/MesaLib/patches/patch-src_gbm_Makefile.am deleted file mode 100644 index 019e9759a9d..00000000000 --- a/graphics/MesaLib/patches/patch-src_gbm_Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -$NetBSD: patch-src_gbm_Makefile.am,v 1.1 2019/08/21 13:35:28 nia Exp $ - ---- src/gbm/Makefile.am.orig 2017-11-20 14:25:47.000000000 +0000 -+++ src/gbm/Makefile.am -@@ -28,6 +28,7 @@ libgbm_la_LIBADD = \ - $(top_builddir)/src/loader/libloader.la \ - $(top_builddir)/src/util/libmesautil.la \ - $(top_builddir)/src/util/libxmlconfig.la \ -+ $(PTHREAD_LIBS) \ - $(DLOPEN_LIBS) - - if HAVE_PLATFORM_WAYLAND diff --git a/graphics/MesaLib/patches/patch-src_glx_Makefile.am b/graphics/MesaLib/patches/patch-src_glx_Makefile.am deleted file mode 100644 index 831247224c6..00000000000 --- a/graphics/MesaLib/patches/patch-src_glx_Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -$NetBSD: patch-src_glx_Makefile.am,v 1.1 2019/08/21 13:35:28 nia Exp $ - -- We don't need libmesautil.la here. Those symbols seem to already be - included in libmesa.la. -- force libtool to use clang++ to link libGL on OSX. - Otherwise we get: - Undefined symbols for architecture x86_64: - "std::terminate()", referenced from: - ___clang_call_terminate in libglx.a(glsl_parser.o) - ... - ---- src/glx/Makefile.am.orig 2019-01-17 11:26:23.000000000 +0000 -+++ src/glx/Makefile.am -@@ -89,10 +89,16 @@ libglx_la_SOURCES = \ - singlepix.c \ - vertarr.c - -+if HAVE_APPLEDRI -+libglx_la_LIBADD = \ -+ $(top_builddir)/src/loader/libloader.la \ -+ $(top_builddir)/src/util/libxmlconfig.la -+else - libglx_la_LIBADD = \ - $(top_builddir)/src/loader/libloader.la \ - $(top_builddir)/src/util/libmesautil.la \ - $(top_builddir)/src/util/libxmlconfig.la -+endif - - if HAVE_DRISW - libglx_la_SOURCES += \ -@@ -136,6 +142,7 @@ libglx_la_SOURCES += \ - - SUBDIRS += apple - libglx_la_LIBADD += $(builddir)/apple/libappleglx.la -+libglx_la_LIBADD += $(top_builddir)/src/mesa/libmesa.la - endif - - if HAVE_WINDOWSDRI -@@ -187,6 +194,10 @@ lib@GL_LIB@_la_SOURCES = - lib@GL_LIB@_la_LIBADD = $(GL_LIBS) - lib@GL_LIB@_la_LDFLAGS = $(GL_LDFLAGS) - -+if HAVE_APPLEDRI -+lib@GL_LIB@_la_SOURCES += apple_dummy.cpp -+endif -+ - if HAVE_WINDOWSDRI - lib@GL_LIB@_la_LDFLAGS += -lgdi32 -lopengl32 -Wl,--disable-stdcall-fixup - endif diff --git a/graphics/MesaLib/patches/patch-src_intel_Makefile.tools.am b/graphics/MesaLib/patches/patch-src_intel_Makefile.tools.am deleted file mode 100644 index b6da477712e..00000000000 --- a/graphics/MesaLib/patches/patch-src_intel_Makefile.tools.am +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-src_intel_Makefile.tools.am,v 1.1 2019/08/21 13:35:28 nia Exp $ - --lrt for shm_open in aubinator.c, a more portable alternative to memfd_create - ---- src/intel/Makefile.tools.am.orig 2018-09-07 21:18:07.000000000 +0000 -+++ src/intel/Makefile.tools.am -@@ -43,6 +43,7 @@ tools_aubinator_LDADD = \ - $(PTHREAD_LIBS) \ - $(DLOPEN_LIBS) \ - $(ZLIB_LIBS) \ -+ -lrt \ - -lm - - diff --git a/graphics/MesaLib/patches/patch-src_intel_isl_isl__tiled__memcpy.c b/graphics/MesaLib/patches/patch-src_intel_isl_isl__tiled__memcpy.c new file mode 100644 index 00000000000..b526efadad2 --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_intel_isl_isl__tiled__memcpy.c @@ -0,0 +1,22 @@ +$NetBSD: patch-src_intel_isl_isl__tiled__memcpy.c,v 1.1 2019/08/22 17:24:01 nia Exp $ + +NetBSD has bswap32 in libc. + +--- src/intel/isl/isl_tiled_memcpy.c.orig 2019-08-07 16:39:17.000000000 +0000 ++++ src/intel/isl/isl_tiled_memcpy.c +@@ -64,6 +64,7 @@ ror(uint32_t n, uint32_t d) + return (n >> d) | (n << (32 - d)); + } + ++#ifndef __NetBSD__ + static inline uint32_t + bswap32(uint32_t n) + { +@@ -76,6 +77,7 @@ bswap32(uint32_t n) + (n << 24); + #endif + } ++#endif + + /** + * Copy RGBA to BGRA - swap R and B. diff --git a/graphics/MesaLib/patches/patch-src_intel_perf_gen__perf.h b/graphics/MesaLib/patches/patch-src_intel_perf_gen__perf.h new file mode 100644 index 00000000000..7e481098b97 --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_intel_perf_gen__perf.h @@ -0,0 +1,16 @@ +$NetBSD: patch-src_intel_perf_gen__perf.h,v 1.1 2019/08/22 17:24:01 nia Exp $ + +for major() - sysmacros.h is non-portable + +--- src/intel/perf/gen_perf.h.orig 2019-08-07 16:39:17.000000000 +0000 ++++ src/intel/perf/gen_perf.h +@@ -28,7 +28,9 @@ + #include <stdint.h> + #include <string.h> + ++#ifdef MAJOR_IN_SYSMACROS + #include <sys/sysmacros.h> ++#endif + + #include "util/hash_table.h" + #include "util/ralloc.h" diff --git a/graphics/MesaLib/patches/patch-src_intel_vulkan_anv__device.c b/graphics/MesaLib/patches/patch-src_intel_vulkan_anv__device.c deleted file mode 100644 index 4f66e5192fb..00000000000 --- a/graphics/MesaLib/patches/patch-src_intel_vulkan_anv__device.c +++ /dev/null @@ -1,47 +0,0 @@ -$NetBSD: patch-src_intel_vulkan_anv__device.c,v 1.1 2019/08/21 13:35:28 nia Exp $ - -* Without sysinfo() fall back to sysconf() -* Define ETIME if missing - -FreeBSD Bugzilla - Bug 225415: graphics/mesa-dri: update to 18.0.0 -https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225415 - ---- src/intel/vulkan/anv_device.c.orig 2018-09-07 21:18:07.000000000 +0000 -+++ src/intel/vulkan/anv_device.c -@@ -25,7 +25,9 @@ - #include <stdbool.h> - #include <string.h> - #include <sys/mman.h> -+#ifdef __GLIBC__ - #include <sys/sysinfo.h> -+#endif - #include <unistd.h> - #include <fcntl.h> - #include <xf86drm.h> -@@ -42,6 +44,10 @@ - - #include "genxml/gen7_pack.h" - -+#ifndef ETIME -+#define ETIME ETIMEDOUT -+#endif -+ - static void - compiler_debug_log(void *data, const char *fmt, ...) - { } -@@ -61,11 +67,15 @@ compiler_perf_log(void *data, const char - static VkResult - anv_compute_heap_size(int fd, uint64_t gtt_size, uint64_t *heap_size) - { -+#ifdef __GLIBC__ - /* Query the total ram from the system */ - struct sysinfo info; - sysinfo(&info); - - uint64_t total_ram = (uint64_t)info.totalram * (uint64_t)info.mem_unit; -+#else -+ uint64_t total_ram = sysctlbyname(SYSCTL_MEMSIZE, &mem, &size, nullptr, 0); -+#endif - - /* We don't want to burn too much ram with the GPU. If the user has 4GiB - * or less, we use at most half. If they have more than 4GiB, we use 3/4. diff --git a/graphics/MesaLib/patches/patch-src_mapi_glapi_gen_gl__gentable.py b/graphics/MesaLib/patches/patch-src_mapi_glapi_gen_gl__gentable.py deleted file mode 100644 index 382f9ccc5e9..00000000000 --- a/graphics/MesaLib/patches/patch-src_mapi_glapi_gen_gl__gentable.py +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-src_mapi_glapi_gen_gl__gentable.py,v 1.2 2019/08/21 13:35:28 nia Exp $ - -FreeBSD support. - ---- src/mapi/glapi/gen/gl_gentable.py.orig 2017-02-13 11:55:49.000000000 +0000 -+++ src/mapi/glapi/gen/gl_gentable.py -@@ -44,7 +44,7 @@ header = """/* GLXEXT is the define used - #endif - - #if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \\ -- || (!defined(GLXEXT) && defined(DEBUG) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__)) -+ || (!defined(GLXEXT) && defined(DEBUG) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__DragonFly__)) - #define USE_BACKTRACE - #endif - diff --git a/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_brw__oa__metrics.c b/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_brw__oa__metrics.c deleted file mode 100644 index 498d5505bb1..00000000000 --- a/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_brw__oa__metrics.c +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-src_mesa_drivers_dri_i965_brw__oa__metrics.c,v 1.1 2019/08/21 13:35:28 nia Exp $ - -XXX compilation takes forever with clang 7.0 - ---- src/mesa/drivers/dri/i965/brw_oa_metrics.c.orig 2018-12-11 21:14:35.000000000 +0000 -+++ src/mesa/drivers/dri/i965/brw_oa_metrics.c -@@ -1,3 +1,6 @@ -+#if defined(__clang__) -+#pragma clang optimize off -+#endif - /* Autogenerated file, DO NOT EDIT manually! generated by brw_oa.py - * - * Copyright (c) 2015 Intel Corporation diff --git a/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c b/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c deleted file mode 100644 index 8a3c6e70820..00000000000 --- a/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_brw__performance__query.c +++ /dev/null @@ -1,72 +0,0 @@ -$NetBSD: patch-src_mesa_drivers_dri_i965_brw__performance__query.c,v 1.1 2019/08/21 13:35:28 nia 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 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> - - #include <xf86drm.h> --#include <i915_drm.h> -+#include "drm-uapi/i915_drm.h" - - #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 --git a/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_intel__tiled__memcpy.c b/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_intel__tiled__memcpy.c deleted file mode 100644 index d171997f6e0..00000000000 --- a/graphics/MesaLib/patches/patch-src_mesa_drivers_dri_i965_intel__tiled__memcpy.c +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-src_mesa_drivers_dri_i965_intel__tiled__memcpy.c,v 1.1 2019/08/21 13:35:28 nia Exp $ - -From wip/MesaLib 13.0.1. - ---- src/mesa/drivers/dri/i965/intel_tiled_memcpy.c.orig 2016-11-10 22:05:17.000000000 +0000 -+++ src/mesa/drivers/dri/i965/intel_tiled_memcpy.c -@@ -64,6 +64,7 @@ ror(uint32_t n, uint32_t d) - return (n >> d) | (n << (32 - d)); - } - -+#if !defined(__NetBSD__) - static inline uint32_t - bswap32(uint32_t n) - { -@@ -76,6 +77,7 @@ bswap32(uint32_t n) - (n << 24); - #endif - } -+#endif /* NetBSD */ - - /** - * Copy RGBA to BGRA - swap R and B. diff --git a/graphics/MesaLib/patches/patch-src_mesa_drivers_x11_Makefile.am b/graphics/MesaLib/patches/patch-src_mesa_drivers_x11_Makefile.am deleted file mode 100644 index 2240cb6fd51..00000000000 --- a/graphics/MesaLib/patches/patch-src_mesa_drivers_x11_Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-src_mesa_drivers_x11_Makefile.am,v 1.1 2019/08/21 13:35:28 nia Exp $ - -We don't need libmesautil.la here. Those symbols seem to already be -included in libmesa.la. - ---- src/mesa/drivers/x11/Makefile.am.orig 2019-01-17 11:26:23.000000000 +0000 -+++ src/mesa/drivers/x11/Makefile.am -@@ -68,7 +68,6 @@ GL_PATCH = 0 - lib@GL_LIB@_la_LIBADD = \ - $(top_builddir)/src/mesa/libmesa.la \ - $(top_builddir)/src/mapi/glapi/libglapi.la \ -- $(top_builddir)/src/util/libmesautil.la \ - $(SHARED_GLAPI_LIB) \ - $(GL_LIB_DEPS) - diff --git a/graphics/MesaLib/patches/patch-src_mesa_main_context.c b/graphics/MesaLib/patches/patch-src_mesa_main_context.c deleted file mode 100644 index 7a1165e907a..00000000000 --- a/graphics/MesaLib/patches/patch-src_mesa_main_context.c +++ /dev/null @@ -1,57 +0,0 @@ -$NetBSD: patch-src_mesa_main_context.c,v 1.4 2019/08/21 13:35:28 nia Exp $ - -* Fix exit time segfault of qt5 application with modular xorg - -Bug 82246 (atexit) - Libraries should not call atexit() - -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 2017-11-20 14:25:47.000000000 +0000 -+++ src/mesa/main/context.c -@@ -354,11 +354,23 @@ mtx_t OneTimeLock = _MTX_INITIALIZER_NP; - * Calls all the various one-time-fini functions in Mesa - */ - -+#if defined(HAVE_NOATEXIT) -+static GLbitfield api_init_mask = 0x0; -+static void __attribute__((__destructor__)) -+#else - static void -+#endif - one_time_fini(void) - { -+#if defined(HAVE_NOATEXIT) -+ if (api_init_mask) { -+ _mesa_destroy_shader_compiler(); -+ _mesa_locale_fini(); -+ } -+#else - _mesa_destroy_shader_compiler(); - _mesa_locale_fini(); -+#endif - } - - /** -@@ -373,7 +385,9 @@ one_time_fini(void) - static void - one_time_init( struct gl_context *ctx ) - { -+#if !defined(HAVE_NOATEXIT) - static GLbitfield api_init_mask = 0x0; -+#endif - - mtx_lock(&OneTimeLock); - -@@ -398,7 +412,9 @@ one_time_init( struct gl_context *ctx ) - _mesa_ubyte_to_float_color_tab[i] = (float) i / 255.0F; - } - -+#if !defined(HAVE_NOATEXIT) - atexit(one_time_fini); -+#endif - - #if defined(DEBUG) - if (MESA_VERBOSE != 0) { diff --git a/graphics/MesaLib/patches/patch-src_util_Makefile.am b/graphics/MesaLib/patches/patch-src_util_Makefile.am deleted file mode 100644 index 2b00052995b..00000000000 --- a/graphics/MesaLib/patches/patch-src_util_Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-src_util_Makefile.am,v 1.1 2019/08/21 13:35:28 nia Exp $ - -handled with CONF_FILES - ---- src/util/Makefile.am.orig 2018-12-11 21:13:57.000000000 +0000 -+++ src/util/Makefile.am -@@ -75,7 +75,7 @@ libxmlconfig_la_CFLAGS = \ - libxmlconfig_la_LIBADD = $(EXPAT_LIBS) -lm - - drircdir = $(datadir)/drirc.d --drirc_DATA = 00-mesa-defaults.conf -+drirc_DATA = # 00-mesa-defaults.conf - - u_atomic_test_LDADD = libmesautil.la - roundeven_test_LDADD = -lm diff --git a/graphics/MesaLib/patches/patch-src_util_futex.h b/graphics/MesaLib/patches/patch-src_util_futex.h deleted file mode 100644 index ab7c2647262..00000000000 --- a/graphics/MesaLib/patches/patch-src_util_futex.h +++ /dev/null @@ -1,53 +0,0 @@ -$NetBSD: patch-src_util_futex.h,v 1.1 2019/08/21 13:35:28 nia Exp $ - -Implement futex_wake() and futex_wait() via _umtx_op() - -FreeBSD Bugzilla - Bug 225415: graphics/mesa-dri: update to 18.0.0 -https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225415 - ---- src/util/futex.h.orig 2018-02-09 02:18:00.000000000 +0000 -+++ src/util/futex.h -@@ -29,10 +29,35 @@ - #include <limits.h> - #include <stdint.h> - #include <unistd.h> -+#if defined(__FreeBSD__) -+#include <errno.h> -+# if __FreeBSD__ < 11 -+# include <machine/atomic.h> -+# endif -+#include <sys/umtx.h> -+#else - #include <linux/futex.h> - #include <sys/syscall.h> -+#endif - #include <sys/time.h> - -+#if defined(__FreeBSD__) -+static inline int futex_wake(uint32_t *addr, int count) -+{ -+ return _umtx_op(addr, UMTX_OP_WAKE, (uint32_t)count, NULL, NULL) == -1 ? errno : 0; -+} -+ -+static inline int futex_wait(uint32_t *addr, int32_t value, struct timespec *timeout) -+{ -+ void *uaddr = NULL, *uaddr2 = NULL; -+ if (timeout != NULL) { -+ const struct _umtx_time tmo = { ._timeout = *timeout, ._flags = UMTX_ABSTIME, ._clockid = CLOCK_MONOTONIC }; -+ uaddr = (void *)(uintptr_t)sizeof(tmo); -+ uaddr2 = (void *)&tmo; -+ } -+ return _umtx_op(addr, UMTX_OP_WAIT_UINT, (uint32_t)value, uaddr, uaddr2) == -1 ? errno : 0; -+} -+#else - static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3) - { - return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); -@@ -50,6 +75,7 @@ static inline int futex_wait(uint32_t *a - return sys_futex(addr, FUTEX_WAIT_BITSET, value, timeout, NULL, - FUTEX_BITSET_MATCH_ANY); - } -+#endif - - #endif - diff --git a/graphics/MesaLib/patches/patch-src_util_xmlconfig.c b/graphics/MesaLib/patches/patch-src_util_xmlconfig.c deleted file mode 100644 index f180ee5e6b8..00000000000 --- a/graphics/MesaLib/patches/patch-src_util_xmlconfig.c +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-src_util_xmlconfig.c,v 1.1 2019/08/21 13:35:28 nia Exp $ - -PR pkg/50202. -Provide compat strndup for older Darwin. - ---- src/util/xmlconfig.c.orig 2018-09-07 21:18:07.000000000 +0000 -+++ src/util/xmlconfig.c -@@ -39,6 +39,23 @@ - #include "xmlconfig.h" - #include "u_process.h" - -+#if (defined(__APPLE__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0 < 1070) -+static char * -+strndup(const char *str, size_t n) -+{ -+ size_t len; -+ char *copy; -+ -+ for (len = 0; len < n && str[len]; len++) -+ continue; -+ -+ if ((copy = (char *)malloc(len + 1)) == NULL) -+ return (NULL); -+ memcpy(copy, str, len); -+ copy[len] = '\0'; -+ return (copy); -+} -+#endif - - /** \brief Find an option in an option cache with the name as key */ - static uint32_t |