# $NetBSD: Makefile,v 1.197 2021/04/25 07:51:26 mrg Exp $
-DISTNAME= mesa-21.2.5
+DISTNAME= mesa-21.3.1
PKGNAME= ${DISTNAME:S/mesa/MesaLib/}
CATEGORIES= graphics
MASTER_SITES= https://mesa.freedesktop.org/archive/
${PLIST.arm}lib/dri/ingenic-drm_dri.so
${PLIST.iris}lib/dri/iris_dri.so
${PLIST.arm}lib/dri/kgsl_dri.so
+${PLIST.arm}lib/dri/kirin_dri.so
${PLIST.kms}lib/dri/kms_swrast_dri.so
${PLIST.arm}lib/dri/lima_dri.so
${PLIST.arm}lib/dri/mali-dp_dri.so
$NetBSD: distinfo,v 1.157 2021/07/15 14:06:56 schmonz Exp $
-BLAKE2s (mesa-21.2.5.tar.xz) = 8284d2704159dd46d9cc36e1cf68ed89667968d3560d46979b62a3c3099b2878
-SHA512 (mesa-21.2.5.tar.xz) = aaa1ebaa1e18eea76c3784c9a65942c3e417c1079d7bf75dcede574999dc459fb4d68d041cf2f767afb9cbfa834a985e0a4edd5a56b0fc90f8fdc506359aa5da
-Size (mesa-21.2.5.tar.xz) = 15829684 bytes
+BLAKE2s (mesa-21.3.1.tar.xz) = 63c96ba0d6a7cd62d4d6d27ec432a627ee87a915aa368d2addb1dd351ef1c176
+SHA512 (mesa-21.3.1.tar.xz) = 43f019d4810bafd177b1a41207ae20a77982e4e6df3ab2b7a700273748cbc766694bd44594c898c4bd7848a94200fd28237a67d290c4e06595e6eab71cb716e8
+Size (mesa-21.3.1.tar.xz) = 16439988 bytes
SHA1 (patch-src_compiler_builtin__type__macros.h) = e4868011711fb89a293580a12eb603b8e7162336
SHA1 (patch-src_drm-shim_drm__shim.c) = 6884d31dc3e9d47aac1785589ab289a601e64545
SHA1 (patch-src_egl_drivers_dri2_platform__drm.c) = 9230fbae2c04246ebca8437ecad694bbae857fbe
SHA1 (patch-src_egl_main_eglglobals.c) = 0d52014f52e62fc5fa6650336ddb0011ecf331e6
SHA1 (patch-src_gallium_auxiliary_pipe-loader_pipe__loader__drm.c) = f913b779404e6bd8ae707a4fd66eb7c1dca9b311
SHA1 (patch-src_gallium_auxiliary_rbug_rbug__texture.c) = 57d831b1001419191a27c05d9cb7734481372d27
-SHA1 (patch-src_gallium_drivers_freedreno_freedreno__screen.c) = 13a99e018d0c282e9541411e428b6bf9cc4ded73
-SHA1 (patch-src_gallium_drivers_freedreno_freedreno__util.h) = bf9d96a13f859ff38e9db684ee880ed84a365965
+SHA1 (patch-src_gallium_drivers_freedreno_freedreno__screen.c) = 2d31c6d5b5271ad108f73234de34618f583e3e43
+SHA1 (patch-src_gallium_drivers_freedreno_freedreno__util.h) = 117be543dc334bb2eceaa28e048531c9c3a90205
SHA1 (patch-src_gallium_drivers_llvmpipe_lp__memory.c) = ca3c1b317c41f6ae56a08272ffabdecb38fea2ec
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_vc4_vc4__bufmgr.c) = 1d591d346486fdf58893f69ab92a272e6a31a987
-SHA1 (patch-src_gallium_frontends_clover_llvm_invocation.cpp) = c59ab60843717369be20a83f658960e91ce68bf4
SHA1 (patch-src_gallium_frontends_clover_util_range.hpp) = c1bd73721482642e62378c70cbe245c304c36d4f
SHA1 (patch-src_gallium_frontends_osmesa_osmesa.c) = 36631301b02cf89f152925b62f538a3c0b6ab601
SHA1 (patch-src_glx_dri__common.c) = 7fa80f8da89ba90649db170e45c8e842cf69c1eb
SHA1 (patch-src_util_build__id.c) = 7a9547bbda9d2fb9f0018ccf27b70b59e497aa2c
SHA1 (patch-src_util_strndup.h) = 73f49694ca48ad6b9a9d8346c5b84fddec2463bd
SHA1 (patch-src_util_u__atomic.h) = 31d4514538ef5ee53012695eb5c66134aaec981e
+SHA1 (patch-src_util_u__printf.h) = 3b19d079d3857612be3cb1b5c1edb5384cd4d6fd
SHA1 (patch-src_util_u__process.c) = 9b785d660f3d55803315598a66370139fcd9168f
SHA1 (patch-src_util_u__queue.c) = e8d6b00473a16b6a32dcacd5ae092326fb2adb84
SHA1 (patch-src_util_u__thread.h) = 6b3955489fc88b848388a329f6a9190bdac6cc86
sysinfo(2) is for Linux only
---- src/gallium/drivers/freedreno/freedreno_screen.c.orig 2021-08-04 18:49:28.972473900 +0000
+--- src/gallium/drivers/freedreno/freedreno_screen.c.orig 2021-12-01 19:04:14.000000000 +0000
+++ src/gallium/drivers/freedreno/freedreno_screen.c
-@@ -42,7 +42,9 @@
+@@ -43,7 +43,9 @@
#include <stdio.h>
#include <stdlib.h>
#include "drm-uapi/drm_fourcc.h"
#include "freedreno_fence.h"
#include "freedreno_perfetto.h"
-@@ -1013,9 +1015,13 @@ fd_screen_create(struct fd_device *dev,
-
- screen->has_syncobj = fd_has_syncobj(screen->dev);
+@@ -1020,9 +1022,13 @@ fd_screen_create(struct fd_device *dev,
+ driParseConfigFiles(config->options, config->options_info, 0, "msm",
+ NULL, fd_dev_name(screen->dev_id), NULL, 0, NULL, 0);
+#if defined(__NetBSD__)
+ screen->ram_size = 512 * 1024 * 1024; /* XXX should use sysctl hw.physmem64 here */
+#endif
DBG("Pipe Info:");
- DBG(" GPU-id: %d", screen->gpu_id);
+ DBG(" GPU-id: %s", fd_dev_name(screen->dev_id));
gettid() is linux-specific
---- src/gallium/drivers/freedreno/freedreno_util.h.orig 2021-08-04 18:49:28.973474000 +0000
+--- src/gallium/drivers/freedreno/freedreno_util.h.orig 2021-12-01 19:04:14.000000000 +0000
+++ src/gallium/drivers/freedreno/freedreno_util.h
@@ -107,12 +107,21 @@ extern bool fd_binning_enabled;
#include <unistd.h>
+#define DBG(fmt, ...) \
+ do { \
+ if (FD_DBG(MSGS)) \
-+ mesa_logi("%s:%d: " fmt, __FUNCTION__, __LINE__, \
++ mesa_logi("%s:%d: " fmt, __FUNCTION__, __LINE__, \
+ ##__VA_ARGS__); \
+ } while (0)
+#endif
- #define perf_debug_ctx(ctx, ...) \
+ #define perf_debug_message(debug, type, ...) \
do { \
+++ /dev/null
-$NetBSD$
-
-Patch from FreeBSD ports graphics/mesa-dri 17.1.0
-
-# fix errors like the following
-#
-# llvm/invocation.cpp:(.text+0x1275): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::c_str()
- const'
-# /usr/bin/ld: ../../../../src/gallium/state_trackers/clover/.libs/libclover.a(libclllvm_la-invocation.o): relocation R_X86_64_PC32 against `_ZNKSt3__112bas
-ic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strEv' can not be used when making a shared object; recompile with -fPIC
-# /usr/bin/ld: final link failed: Bad value
-#
-
---- src/gallium/frontends/clover/llvm/invocation.cpp.orig 2021-07-14 20:04:53.702990300 +0000
-+++ src/gallium/frontends/clover/llvm/invocation.cpp
-@@ -212,6 +212,10 @@ namespace {
- return get_lang_standard_from_version(device_version);
- }
-
-+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
-+ const char* cstr(const std::string& str) { return str.c_str(); }
-+#endif
-+
- std::unique_ptr<clang::CompilerInstance>
- create_compiler_instance(const device &dev, const std::string& ir_target,
- const std::vector<std::string> &opts,
-@@ -224,9 +228,13 @@ namespace {
- // Parse the compiler options. A file name should be present at the end
- // and must have the .cl extension in order for the CompilerInvocation
- // class to recognize it as an OpenCL source file.
-+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
-+ std::vector<const char *> copts(opts.size());
-+ std::transform(opts.begin(), opts.end(), copts.begin(), cstr);
-+#else
- const std::vector<const char *> copts =
- map(std::mem_fn(&std::string::c_str), opts);
--
-+#endif
- const target &target = ir_target;
- const cl_version device_clc_version = dev.device_clc_version();
-
--- /dev/null
+$NetBSD$
+
+include cstdarg for va_list
+
+--- src/util/u_printf.h.orig 2021-12-01 19:04:14.000000000 +0000
++++ src/util/u_printf.h
+@@ -25,6 +25,7 @@
+ #ifdef __cplusplus
+
+ #include <string>
++#include <cstdarg>
+
+ /* find next valid printf specifier in a C++ std::string */
+ size_t util_printf_next_spec_pos(const std::string &s, size_t pos);