From owner-dev-commits-ports-main@freebsd.org Thu Jul 1 16:20:43 2021 Return-Path: Delivered-To: dev-commits-ports-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6398F666DB9; Thu, 1 Jul 2021 16:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GG3NW29fZz4Y6P; Thu, 1 Jul 2021 16:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3217F2356B; Thu, 1 Jul 2021 16:20:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 161GKhqX031236; Thu, 1 Jul 2021 16:20:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 161GKhM6031235; Thu, 1 Jul 2021 16:20:43 GMT (envelope-from git) Date: Thu, 1 Jul 2021 16:20:43 GMT Message-Id: <202107011620.161GKhM6031235@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Jan Beich Subject: git: 93734715f465 - main - graphics/mesa-devel: expose crocus to replace i965 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jbeich X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93734715f465f6d0429513ef03ed857cb2e5bbe1 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the main branch of the FreeBSD ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jul 2021 16:20:43 -0000 The branch main has been updated by jbeich: URL: https://cgit.FreeBSD.org/ports/commit/?id=93734715f465f6d0429513ef03ed857cb2e5bbe1 commit 93734715f465f6d0429513ef03ed857cb2e5bbe1 Author: Jan Beich AuthorDate: 2021-07-01 15:28:56 +0000 Commit: Jan Beich CommitDate: 2021-07-01 16:16:18 +0000 graphics/mesa-devel: expose crocus to replace i965 Example usage: $ MESA_LOADER_DRIVER_OVERRIDE=crocus glxgears See also https://gitlab.freedesktop.org/mesa/mesa/-/commit/17a1cc616371 --- graphics/mesa-devel/Makefile | 5 +++-- graphics/mesa-devel/files/patch-userptr | 24 ++++++++++++++++++++++++ graphics/mesa-devel/pkg-plist | 1 + 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile index 54040ad1b027..1a4e5ff582e3 100644 --- a/graphics/mesa-devel/Makefile +++ b/graphics/mesa-devel/Makefile @@ -55,12 +55,12 @@ OPTIONS_DEFINE= LIBUNWIND LLVM LTO VAAPI VDPAU VKLAYERS WAYLAND X11 ZSTD OPTIONS_DEFAULT= LIBUNWIND LLVM LTO VAAPI VDPAU VKLAYERS WAYLAND X11 ZSTD OPTIONS_GROUP= DRI GALLIUM VULKAN OPTIONS_GROUP_DRI= i965 -OPTIONS_GROUP_GALLIUM= iris r600 radeonsi +OPTIONS_GROUP_GALLIUM= crocus iris r600 radeonsi OPTIONS_GROUP_VULKAN= anv radv OPTIONS_EXCLUDE_DragonFly= LIBUNWIND anv OPTIONS_EXCLUDE_i386= LTO # anv: vkcube fails on vkCreateSwapchainKHR OPTIONS_EXCLUDE_powerpc64= ${"${/usr/bin/ld:L:tA}"==/usr/bin/ld.lld:?LTO:} # LLVM bug 47353 -OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/anv i965 iris/} +OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/anv crocus i965 iris/} OPTIONS_EXCLUDE+= ${ARCH:Naarch64:Namd64:Ni386:Npowerpc64:Npowerpc64le:Nx86_64:C/.+/LIBUNWIND/} OPTIONS_EXCLUDE+= ${"${GL_DEFAULT:S/,/ /g:[-1]}"==${.CURDIR:T}:?COINST:} OPTIONS_EXCLUDE+= ${"${GL_DEFAULT:S/,/ /g:[1]}"!=libglvnd:?GLVND:} @@ -81,6 +81,7 @@ DRI_DESC= Classic OpenGL drivers i965_DESC= GMA 3000 (Gen4) and newer GALLIUM_DESC= Unified OpenGL drivers +crocus_DESC= Broadwater, Eaglelake, Ironlake, Sandybridge, Ivybridge, Haswell iris_DESC= Broadwell and newer r600_DESC= R600, R700, Evergreen, Northern Islands (implies LLVM) radeonsi_DESC= Southern Islands and newer (implies LLVM) diff --git a/graphics/mesa-devel/files/patch-userptr b/graphics/mesa-devel/files/patch-userptr index 70885a10d47c..f73abcd5d1ed 100644 --- a/graphics/mesa-devel/files/patch-userptr +++ b/graphics/mesa-devel/files/patch-userptr @@ -1,6 +1,30 @@ Try unsynchronized userptr if regular one fails. https://github.com/FreeBSDDesktop/kms-drm/issues/197 +--- src/gallium/drivers/crocus/crocus_bufmgr.c.orig 2021-06-30 22:34:42 UTC ++++ src/gallium/drivers/crocus/crocus_bufmgr.c +@@ -493,8 +493,20 @@ crocus_bo_create_userptr(struct crocus_bufmgr *bufmgr, + .user_ptr = (uintptr_t)ptr, + .user_size = size, + }; +- if (intel_ioctl(bufmgr->fd, DRM_IOCTL_I915_GEM_USERPTR, &arg)) ++ ++ int ret; ++retry: ++ ret = intel_ioctl(bufmgr->fd, DRM_IOCTL_I915_GEM_USERPTR, &arg); ++ if (ret) { ++ if (errno == ENODEV && arg.flags == 0) { ++ arg.flags = I915_USERPTR_UNSYNCHRONIZED; ++ goto retry; ++ } ++ if (geteuid() != 0) { ++ fprintf(stderr, "%s", "ioctl(I915_GEM_USERPTR) failed. Try running as root but expect poor stability.\n"); ++ } + goto err_free; ++ } + bo->gem_handle = arg.handle; + + /* Check the buffer for validity before we try and use it in a batch */ --- src/gallium/drivers/iris/iris_bufmgr.c.orig 2021-03-10 22:23:51 UTC +++ src/gallium/drivers/iris/iris_bufmgr.c @@ -624,8 +624,20 @@ iris_bo_create_userptr(struct iris_bufmgr *bufmgr, con diff --git a/graphics/mesa-devel/pkg-plist b/graphics/mesa-devel/pkg-plist index 9de212c71b50..91a785ea696e 100644 --- a/graphics/mesa-devel/pkg-plist +++ b/graphics/mesa-devel/pkg-plist @@ -26,6 +26,7 @@ %%NO_GLVND%%%%NO_COINST%%include/KHR/khrplatform.h %%NO_COINST%%include/gbm.h %%i965%%lib/dri%%SUFFIX%%/i965_dri.so +%%crocus%%lib/dri%%SUFFIX%%/crocus_dri.so %%iris%%lib/dri%%SUFFIX%%/iris_dri.so %%r600%%lib/dri%%SUFFIX%%/r600_dri.so %%radeonsi%%lib/dri%%SUFFIX%%/radeonsi_dri.so