Summary: | graphics/mesa-dri: update to 18.0.0 | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> | ||||||||||||||||||||||||||||||||
Component: | Individual Port(s) | Assignee: | freebsd-x11 (Nobody) <x11> | ||||||||||||||||||||||||||||||||
Status: | Closed FIXED | ||||||||||||||||||||||||||||||||||
Severity: | Affects Only Me | CC: | ardovm, cpm, jkim, o.hushchenkov, rkoberman, val, x11, zeising | ||||||||||||||||||||||||||||||||
Priority: | --- | Keywords: | patch | ||||||||||||||||||||||||||||||||
Version: | Latest | Flags: | bugzilla:
maintainer-feedback?
(x11) |
||||||||||||||||||||||||||||||||
Hardware: | Any | ||||||||||||||||||||||||||||||||||
OS: | Any | ||||||||||||||||||||||||||||||||||
URL: | https://www.mesa3d.org/relnotes/18.0.0.html | ||||||||||||||||||||||||||||||||||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240761 | ||||||||||||||||||||||||||||||||||
Bug Depends on: | 225035 | ||||||||||||||||||||||||||||||||||
Bug Blocks: | 227685 | ||||||||||||||||||||||||||||||||||
Attachments: |
|
Description
Jan Beich
2018-01-23 22:56:34 UTC
Looking at this. Comment on attachment 190018 [details] rc2 Oops, broke build on armv6 and armv7. --build-id is now used even for non-Vulkan drivers. powerpc* and sparc64 already pull new ld.bfd via USES=compiler:c++11-lib. gmake[7]: Entering directory '/usr/ports/graphics/mesa-dri/work/mesa-18.0.0-rc2/src/mesa/drivers/dri' /bin/sh ../../../../libtool --tag=CXX --mode=link /usr/bin/c++ -O2 -pipe -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -Wall -fno-math-errno -fno-trapping-math -Qunused-arguments -shared -shrext .so -module -no-undefined -avoid-version -Wl,--build-id=sha1 -Wl,-Bsymbolic -Wl,--gc-sections -Wl,--no-undefined -Wl,-rpath=/usr/local/llvm50/lib -o mesa_dri_drivers.la -rpath /usr/local/lib/dri ../../libmesa.la common/libmegadriver_stub.la common/libdricommon.la ../../../../src/util/libxmlconfig.la ../../../../src/mapi/shared-glapi/libglapi.la swrast/libswrast_dri.la -L/usr/local/lib -ldrm -L/usr/local/lib -lexpat -lm -lpthread -pthread -L/usr/local/lib /usr/bin/ld: unrecognized option '--build-id=sha1' /usr/bin/ld: use the --help option for usage information c++: error: linker command failed with exit code 1 (use -v to see invocation) https://cgit.freedesktop.org/mesa/mesa/commit/?id=ccb700526f64 Created attachment 190045 [details]
rc2
--build-id=sha1 is only used by anv and i965 but Mesa builds i915, i965, r200, radeon as a hardlinks for a single file. So, use devel/binutils for any DRI_DRIVERS.
$ fgrep -rl build_id .
./src/mesa/drivers/dri/i965/brw_disk_cache.c
./src/mesa/drivers/dri/i965/brw_program_binary.c
./src/util/Makefile.sources
./src/util/build_id.h
./src/util/build_id.c
./src/util/meson.build
./src/util/Makefile.in
./src/intel/vulkan/anv_device.c
Created attachment 190047 [details] rc2 Oops, radeonsi needs futex_wait() to support timeout argument. https://cgit.freedesktop.org/mesa/mesa/commit/?id=e3a8013de8ca https://cgit.freedesktop.org/mesa/mesa/commit/?id=609a230375ca https://cgit.freedesktop.org/mesa/mesa/commit/?id=e6dbc804a87a $ fgrep -rl util_queue_fence_wait_timeout . ./src/util/u_queue.c ./src/util/u_queue.h ./src/gallium/winsys/amdgpu/drm/amdgpu_cs.c ./src/gallium/drivers/radeonsi/si_fence.c @jkim, does my attempt to emulate absolute timeout for sys_futex() look correct? It's based on _umtx_wait_uint() from libc. Greg, can you check radeonsi on amdgpu works fine? (In reply to Jan Beich from comment #5) Yep, everything seems to work great (tested OpenMW on both Weston and Xorg, Dolphin with Vulkan, an OpenCL demo with Clover). Also - this obsoletes bug 223030 (merged upstream) - but does not obsolete bug 221540 BTW, my patch for building Mesa with Meson on *BSD has landed, and cc'd to mesa-stable https://cgit.freedesktop.org/mesa/mesa/commit/?id=c38c60a63c63b02d1030c6c349aa0a73105e10eb ( the whole patch series: https://patchwork.freedesktop.org/series/35931/ — I'll need to update the futex patch there ) (In reply to Jan Beich from comment #5) Yes, it looks good. (In reply to Greg V from comment #6) While you're at it, can you please switch clock code from gettimeofday(2) to clock_gettime(2)? Then, we can use CLOCK_MONOTONIC for futex_wait(). Created attachment 190061 [details]
Prefer clock_gettime(2) over gettimeofday(2)
Created attachment 190062 [details]
Use CLOCK_MONOTONIC for futex_wait()
While I am here, I changed coding style little bit. :-)
Created attachment 190063 [details]
Use CLOCK_MONOTONIC for futex_wait()
(In reply to Jung-uk Kim from comment #8) BTW, clock_nanosleep(2) is available from 11.1. I think we should test __FreeBSD_version. Created attachment 190064 [details]
Prefer clock_gettime(2) over gettimeofday(2) and use clock_nanosleep(2) if available
Created attachment 190159 [details] rc3 - Update to rc3, see https://lists.freedesktop.org/archives/mesa-announce/2018-January/000397.html - Merge patches from jkim@ - Detect clock_nanosleep() at configure, so it can be used on NetBSD 7.0+ as well http://netbsd.gw.com/cgi-bin/man-cgi?clock_nanosleep+2+NetBSD-current - Fix a BSD patch warning in files/patch-src_intel_tools_aubinator.c: No such line 1236 in input file, ignoring Created attachment 190459 [details] rc4 https://lists.freedesktop.org/archives/mesa-announce/2018-February/000398.html https://cgit.freedesktop.org/mesa/mesa/commit/?id=53f8d524a0ce relyies on assert() being turned off in --disable-debug mode. i965 uses build_id.h for on-disk shader cache and ARB_get_program_binary. More changes are required to support disabling build_id.h, so let's not copy OS X folly. ... or maybe OS X doesn't build i965 at all. Created attachment 190681 [details] rc4 rebase against attachment 190680 [details] Created attachment 191041 [details] rc4 rebase against attachment 191040 [details] Created attachment 191335 [details]
rc4
Add patch for src/util/u_thread.h:
- Implement setting thread name
- Use monotonic clock for timeouts
Created attachment 191719 [details] rc5 https://lists.freedesktop.org/archives/mesa-announce/2018-March/000409.html Created attachment 191881 [details] release https://lists.freedesktop.org/archives/mesa-announce/2018-March/000412.html - Let's start maintainer timeout countdown - No upstream code changes since rc5 - Reordered struct initializers, see -const struct _umtx_time tmo = { ._clockid = CLOCK_MONOTONIC, ._flags = UMTX_ABSTIME, ._timeout = *timeout }; +const struct _umtx_time tmo = { ._timeout = *timeout, ._flags = UMTX_ABSTIME, ._clockid = CLOCK_MONOTONIC }; to pacify GCC In file included from ../../src/util/simple_mtx.h:27:0, from ../../src/mesa/main/mtypes.h:49, from glsl/main.cpp:36: ../../src/util/futex.h: In function 'int futex_wait(uint32_t*, int32_t, timespec*)': ../../src/util/futex.h:54:113: sorry, unimplemented: non-trivial designated initializers not supported const struct _umtx_time tmo = { ._clockid = CLOCK_MONOTONIC, ._flags = UMTX_ABSTIME, ._timeout = *timeout }; ^ ../../src/util/futex.h:54:113: sorry, unimplemented: non-trivial designated initializers not supported Created attachment 191890 [details]
glxinfo-mesa-18.0.0.txt
Jan, it works fine for me. Tested with GPU Sandy Bridge on 10.4/amd64.
Thanks for the update.
Hello all, thank you for the work you are doing on this. I installed Xorg on a new 11-STABLE system with a Radeon HD 7450. Xorg segfaults when playing videos because this patch is missing: https://patchwork.freedesktop.org/patch/182902/ I applied it by hand and it now I ``only'' get a black window instead of the video. For this reason, I am really looking forward to see the new release of mesa in the ports tree, as I hope it will solve my problems. Please let me know if I can be of any help to you. Thank you again and best regards. On my Sandybridge system this breaks DRI. glxgears slows from 26761 frames in 5.0 seconds = 5352.118 FPS to 6060 frames in 5.0 seconds = 1211.919 FPS. Firefox reports that llvmpipe is in use (software rasterization). The Xorg.log shows: [242860.833] (EE) AIGLX error: Calling driver entry point failed [242860.834] (EE) AIGLX: reverting to software rendering System is running 11-STABLE r331492. FWIW, I tried just going to 17.3.7 and it has the same problem. I'll be happy to provide addition data if I can collect it. I have both versions packaged and can swap fairly quickly. (I don't have 17.3.7 packages, but I can do so. (In reply to rkoberman from comment #23) Using the latest patches, 18.0.0 is working correctly on my Sandybridge system. glxgears show over 510 FPS. I will continue with this version and report any issues I see. (In reply to Arrigo Marchiori from comment #22) > Xorg segfaults when playing videos because this patch is missing: > https://patchwork.freedesktop.org/patch/182902/ Is it a regression? If so when did you notice relative to graphics/mesa-dri updates? > I applied it by hand and it now I ``only'' get a black window instead of the video. Not much of an improvement then. Can you try radeonkms from either graphics/drm-stable-kmod or graphics/drm-next-kmod? A commit references this bug: Author: jbeich Date: Tue Apr 10 00:14:03 UTC 2018 New revision: 466923 URL: https://svnweb.freebsd.org/changeset/ports/466923 Log: graphics/mesa-dri: always lower kernel version check Sandybridge on FreeBSD 11.* is also affected: $ glxgears [intel_init_bufmgr: 1685] Kernel 3.9 required. libGL error: failed to create dri screen libGL error: failed to load driver: i965 5373 frames in 5.0 seconds = 1074.496 FPS Reported by: Kevin Oberman PR: 225035 225415 Changes: head/graphics/mesa-dri/Makefile A commit references this bug: Author: jbeich Date: Tue Apr 10 00:15:07 UTC 2018 New revision: 466926 URL: https://svnweb.freebsd.org/changeset/ports/466926 Log: graphics/mesa-{libs,dri}: update to 18.0.0 Changes: https://www.mesa3d.org/relnotes/18.0.0.html PR: 225415 Tested by: Greg V, cpm, Kevin Oberman, Juan Ram?n Molina Menor Reviewed by: Greg V (Wayland, Vulkan), jkim (umtx) Approved by: maintainer timeout (2 weeks) Changes: head/graphics/mesa-dri/Makefile head/graphics/mesa-dri/Makefile.common head/graphics/mesa-dri/distinfo head/graphics/mesa-dri/files/configure.ac head/graphics/mesa-dri/files/patch-configure head/graphics/mesa-dri/files/patch-src_amd_vulkan_winsys_amdgpu_radv__amdgpu__cs.c head/graphics/mesa-dri/files/patch-src_egl_drivers_dri2_platform__x11.c head/graphics/mesa-dri/files/patch-src_gallium_auxiliary_util_u__network.c head/graphics/mesa-dri/files/patch-src_gallium_winsys_svga_drm_vmw__screen__ioctl.c head/graphics/mesa-dri/files/patch-src_intel_compiler_brw__fs__bank__conflicts.cpp head/graphics/mesa-dri/files/patch-src_intel_tools_aubinator.c head/graphics/mesa-dri/files/patch-src_intel_vulkan_anv__allocator.c head/graphics/mesa-dri/files/patch-src_intel_vulkan_anv__device.c head/graphics/mesa-dri/files/patch-src_loader_loader.c head/graphics/mesa-dri/files/patch-src_util_futex.h head/graphics/mesa-dri/files/patch-src_util_os__time.c head/graphics/mesa-dri/files/patch-src_util_u__endian.h head/graphics/mesa-dri/files/patch-src_util_u__thread.h A commit references this bug: Author: jbeich Date: Tue Apr 10 00:18:05 UTC 2018 New revision: 466929 URL: https://svnweb.freebsd.org/changeset/ports/466929 Log: MFH: r466923 graphics/mesa-dri: always lower kernel version check Sandybridge on FreeBSD 11.* is also affected: $ glxgears [intel_init_bufmgr: 1685] Kernel 3.9 required. libGL error: failed to create dri screen libGL error: failed to load driver: i965 5373 frames in 5.0 seconds = 1074.496 FPS Reported by: Kevin Oberman PR: 225035 225415 Approved by: ports-secteam blanket Changes: _U branches/2018Q2/ branches/2018Q2/graphics/mesa-dri/Makefile Hello Jan, sorry for the late reply. I could just test the new port today. (In reply to Jan Beich from comment #25) > (In reply to Arrigo Marchiori from comment #22) > > Xorg segfaults when playing videos because this patch is missing: > > https://patchwork.freedesktop.org/patch/182902/ > > Is it a regression? If so when did you notice relative to graphics/mesa-dri > updates? I cannot say whether it is a regression or not, unfortunately. I just installed 11-STABLE on a brand new system, and I found this problem. It is my first experience on this hardware. > > I applied it by hand and it now I ``only'' get a black window instead of the video. > > Not much of an improvement then. IMHO yes, it is: Xorg does not crash any more! > Can you try radeonkms from either > graphics/drm-stable-kmod or graphics/drm-next-kmod? I tried installing graphics/drm-stable-kmod; amdgpu did not load; radeonkms did but it lead to a panic, issued in r100_reg_safe_bm() from /boot/kernel/radeonkms.ko Shall I open a new PR? A commit references this bug: Author: jbeich Date: Wed Apr 18 17:48:30 UTC 2018 New revision: 467724 URL: https://svnweb.freebsd.org/changeset/ports/467724 Log: graphics/mesa-{libs,dri}: update to 18.0.1 Changes: https://www.mesa3d.org/relnotes/18.0.1.html PR: 225415 Changes: head/graphics/mesa-dri/Makefile.common head/graphics/mesa-dri/distinfo A commit references this bug: Author: jbeich Date: Sat Apr 28 20:56:05 UTC 2018 New revision: 468593 URL: https://svnweb.freebsd.org/changeset/ports/468593 Log: graphics/mesa-{libs,dri}: update to 18.0.2 Changes: https://www.mesa3d.org/relnotes/18.0.2.html PR: 225415 Changes: head/graphics/mesa-dri/Makefile head/graphics/mesa-dri/Makefile.common head/graphics/mesa-dri/distinfo A commit references this bug: Author: jbeich Date: Tue May 8 00:34:28 UTC 2018 New revision: 469340 URL: https://svnweb.freebsd.org/changeset/ports/469340 Log: graphics/mesa-{libs,dri}: update to 18.0.3 Changes: https://www.mesa3d.org/relnotes/18.0.3.html PR: 225415 Changes: head/graphics/mesa-dri/Makefile.common head/graphics/mesa-dri/distinfo A commit references this bug: Author: jbeich Date: Fri May 18 08:59:42 UTC 2018 New revision: 470280 URL: https://svnweb.freebsd.org/changeset/ports/470280 Log: graphics/mesa-{libs,dri}: update to 18.0.4 Changes: https://www.mesa3d.org/relnotes/18.0.4.html PR: 225415 Changes: head/graphics/mesa-dri/Makefile.common head/graphics/mesa-dri/distinfo |