diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 139aaaee023a..8e320f54ee8c 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -43,7 +43,7 @@ ++ lib.optionals (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6") [ # QEMU virtualized GPU (aka VirGL) # Requires ATOMIC_INT_LOCK_FREE == 2. - "virtio-experimental" + "virtio" ] ++ lib.optionals stdenv.isAarch64 [ "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D) @@ -84,8 +84,8 @@ */ let - version = "23.1.9"; - hash = "sha256-KVuifCgUbtCSFOjOea+hZZ7fnRQt7MPJH4BFUtZPdRA="; + version = "23.3.1"; + hash = "sha256-bkgSbXD9s/IP/rJGygwuQf/cg18GY6A9RSa4v120HeY="; # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule @@ -99,7 +99,7 @@ let # FIXME: these should really go into some sort of versioned LLVM package set rust-bindgen' = buildPackages.rust-bindgen.override { rust-bindgen-unwrapped = buildPackages.rust-bindgen.unwrapped.override { - clang = buildPackages.llvmPackages_15.clang; + clang = buildPackages.llvmPackages_16.clang; }; }; spirv-llvm-translator' = spirv-llvm-translator.override { diff --git a/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch b/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch index fe51c79d7a06..05f5ec7b6a03 100644 --- a/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch +++ b/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch @@ -1,17 +1,8 @@ -Author: David McFarland -Date: Mon Aug 6 15:52:11 2018 -0300 - - [PATCH] disk_cache: include dri driver path in cache key - - This fixes invalid cache hits on NixOS where all shared library - timestamps in /nix/store are zero. - diff --git a/meson_options.txt b/meson_options.txt -index b8f753e2e1a..70d9071c8be 100644 +index 591ed957c85..6cb550593e3 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -452,7 +452,14 @@ option( - value : true, +@@ -519,6 +519,13 @@ option( description : 'Enable direct rendering in GLX and EGL for DRI', ) @@ -26,10 +17,10 @@ index b8f753e2e1a..70d9071c8be 100644 type : 'string', value : '', diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c -index 8dbe0938d11..498fe42de70 100644 +index 1d23b92af7e..fbb4b04f3cf 100644 --- a/src/util/disk_cache.c +++ b/src/util/disk_cache.c -@@ -194,8 +194,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id, +@@ -218,8 +218,10 @@ disk_cache_type_create(const char *gpu_name, /* Create driver id keys */ size_t id_size = strlen(driver_id) + 1; @@ -40,7 +31,7 @@ index 8dbe0938d11..498fe42de70 100644 cache->driver_keys_blob_size += gpu_name_size; /* We sometimes store entire structs that contains a pointers in the cache, -@@ -216,6 +218,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id, +@@ -240,6 +242,7 @@ disk_cache_type_create(const char *gpu_name, uint8_t *drv_key_blob = cache->driver_keys_blob; DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size) DRV_KEY_CPY(drv_key_blob, driver_id, id_size) @@ -49,13 +40,13 @@ index 8dbe0938d11..498fe42de70 100644 DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size) DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size) diff --git a/src/util/meson.build b/src/util/meson.build -index cd44e49bfb4..f17115515a5 100644 +index eb88f235c47..eae5c54cc10 100644 --- a/src/util/meson.build +++ b/src/util/meson.build -@@ -268,7 +268,12 @@ _libmesa_util = static_library( - include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], +@@ -286,7 +286,12 @@ _libmesa_util = static_library( + include_directories : [inc_util, include_directories('format')], dependencies : deps_for_libmesa_util, - link_with: [libmesa_format, libmesa_util_sse41], + link_with: [libmesa_util_sse41], - c_args : [c_msvc_compat_args], + c_args : [ + c_msvc_compat_args, diff --git a/pkgs/development/libraries/mesa/opencl.patch b/pkgs/development/libraries/mesa/opencl.patch index fb4da5cf7a0a..cd27f0a2e86f 100644 --- a/pkgs/development/libraries/mesa/opencl.patch +++ b/pkgs/development/libraries/mesa/opencl.patch @@ -1,8 +1,8 @@ diff --git a/meson.build b/meson.build -index 172c64a7c70..05961e56926 100644 +index fbb0b29322d..b4825056449 100644 --- a/meson.build +++ b/meson.build -@@ -1900,7 +1900,7 @@ endif +@@ -1805,7 +1805,7 @@ endif dep_clang = null_dep if with_clc @@ -12,12 +12,12 @@ index 172c64a7c70..05961e56926 100644 dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false) diff --git a/meson_options.txt b/meson_options.txt -index 6f307018815..ab84eb1006c 100644 +index e885ba61a8a..591ed957c85 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -18,6 +18,12 @@ - # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - # SOFTWARE. +@@ -23,6 +23,12 @@ option( + description : 'the window system EGL assumes for EGL_DEFAULT_DISPLAY', + ) +option( + 'clang-libdir', @@ -26,10 +26,10 @@ index 6f307018815..ab84eb1006c 100644 + description : 'Locations to search for clang libraries.' +) option( - 'platforms', - type : 'array', + 'android-stub', + type : 'boolean', diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build -index db3586bd7fb..4d914206d21 100644 +index 7c14135898e..74dc6850603 100644 --- a/src/gallium/targets/opencl/meson.build +++ b/src/gallium/targets/opencl/meson.build @@ -39,7 +39,8 @@ if dep_llvm.version().version_compare('>=10.0.0') @@ -48,19 +48,19 @@ index db3586bd7fb..4d914206d21 100644 output : 'mesa.icd', - install : true, + install : false, + install_tag : 'runtime', install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), ) - diff --git a/src/gallium/targets/rusticl/meson.build b/src/gallium/targets/rusticl/meson.build -index a968dee52db..69475cf3133 100644 +index b2963fe6dfa..99d6d801b94 100644 --- a/src/gallium/targets/rusticl/meson.build +++ b/src/gallium/targets/rusticl/meson.build -@@ -58,7 +58,7 @@ configure_file( +@@ -76,7 +76,7 @@ configure_file( configuration : _config, input : 'rusticl.icd.in', output : 'rusticl.icd', - install : true, + install : false, + install_tag : 'runtime', install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), ) -