Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[xsrc/xorg]: xsrc/external/mit/xf86-video-amdgpu/dist initial import of xf86-...
details: https://anonhg.NetBSD.org/xsrc/rev/75b8ae0f38e1
branches: xorg
changeset: 7440:75b8ae0f38e1
user: mrg <mrg%NetBSD.org@localhost>
date: Sun Feb 26 20:09:14 2023 +0000
description:
initial import of xf86-video-amdgpu-23.0.0
diffstat:
external/mit/xf86-video-amdgpu/dist/ChangeLog | 312 +
external/mit/xf86-video-amdgpu/dist/Makefile.in | 27 +-
external/mit/xf86-video-amdgpu/dist/README.md | 6 +-
external/mit/xf86-video-amdgpu/dist/aclocal.m4 | 161 +-
external/mit/xf86-video-amdgpu/dist/compile | 2 +-
external/mit/xf86-video-amdgpu/dist/conf/10-amdgpu.conf | 3 +-
external/mit/xf86-video-amdgpu/dist/conf/Makefile.in | 10 +-
external/mit/xf86-video-amdgpu/dist/config.guess | 1440 +-
external/mit/xf86-video-amdgpu/dist/config.h.in | 15 +-
external/mit/xf86-video-amdgpu/dist/config.sub | 708 +-
external/mit/xf86-video-amdgpu/dist/configure | 14458 ++++++-----
external/mit/xf86-video-amdgpu/dist/configure.ac | 8 +-
external/mit/xf86-video-amdgpu/dist/depcomp | 2 +-
external/mit/xf86-video-amdgpu/dist/install-sh | 144 +-
external/mit/xf86-video-amdgpu/dist/ltmain.sh | 258 +-
external/mit/xf86-video-amdgpu/dist/m4/libtool.m4 | 64 +-
external/mit/xf86-video-amdgpu/dist/man/Makefile.in | 10 +-
external/mit/xf86-video-amdgpu/dist/man/amdgpu.man | 25 +-
external/mit/xf86-video-amdgpu/dist/missing | 2 +-
external/mit/xf86-video-amdgpu/dist/src/Makefile.in | 12 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c | 3 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_drv.h | 7 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_glamor.c | 21 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_kms.c | 87 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_pixmap.c | 2 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_present.c | 23 +-
external/mit/xf86-video-amdgpu/dist/src/amdgpu_video.c | 203 +-
external/mit/xf86-video-amdgpu/dist/src/compat-api.h | 3 +
external/mit/xf86-video-amdgpu/dist/src/drmmode_display.c | 12 +-
external/mit/xf86-video-amdgpu/dist/src/simple_list.h | 10 +-
30 files changed, 9812 insertions(+), 8226 deletions(-)
diffs (truncated from 25929 to 300 lines):
diff -r 5aa5d5548ac5 -r 75b8ae0f38e1 external/mit/xf86-video-amdgpu/dist/ChangeLog
--- a/external/mit/xf86-video-amdgpu/dist/ChangeLog Sun Feb 26 19:47:05 2023 +0000
+++ b/external/mit/xf86-video-amdgpu/dist/ChangeLog Sun Feb 26 20:09:14 2023 +0000
@@ -1,3 +1,315 @@
+commit 7025aefcdf9673665588cf291c5d71beb39cce89
+Author: Shashank Sharma <shashank.sharma%amd.com@localhost>
+Date: Wed Feb 22 18:00:23 2023 +0100
+
+ Bump version for the 23.0.0 release
+
+ This release includes some bug fixes.
+
+ Signed-off-by: Shashank Sharma <shashank.sharma%amd.com@localhost>
+
+commit 6ee320917093ad0f7d68e516d3224d3c04ca13ee
+Author: Shashank Sharma <shashank.sharma%amd.com@localhost>
+Date: Mon Nov 28 13:08:36 2022 +0100
+
+ config: Add hotplug driver name
+
+ This patch adds the PCI-hotplug handler driver name in the
+ DDX config file with respect to Xorg commit:82bf391c
+
+ Cc: Alexander Deucher <alexander.deucher%amd.com@localhost>
+ Signed-off-by: Shashank Sharma <shashank.sharma%amd.com@localhost>
+
+commit 2ec854d48e0e44fc60c3955663f700cbefea3553
+Author: Mario Kleiner <mario.kleiner.de%gmail.com@localhost>
+Date: Fri Nov 11 02:18:07 2022 +0100
+
+ Fix primary output handling in amdgpu_crtc_covering_box().
+
+ Commit e39a3ee07c9dea73b0452b71b1ef633b6cd6f389
+ tries to reintroduce the RandR primary output as a tie breaker
+ in amdgpu_crtc_covering_box(), but that function wrongly
+ assigns a void* devPrivate, which is actually a xf86CrtcPtr,
+ to the RRCrtcPtr primary_crtc, a pointer target type mismatch!
+
+ This causes a later pointer comparison of primary_crtc with
+ RRCrtcPtr crtc to always fail, so that the user selected
+ primary output can not ever successfully act as a tie-breaker
+ when multiple candidate crtcs cover the same box area,
+ defeating the whole purpose of that commit! Not sure how
+ this failure could have ever evaded any basic testing.
+
+ Fix this trivially by assigning the right variable.
+
+ Successfully tested on a multi-display setup, verifying
+ that the primary output now works as tie breaker as
+ intended.
+
+ Signed-off-by: Mario Kleiner <mario.kleiner.de%gmail.com@localhost>
+ Fixes: e39a3ee07c9d ("Prefer crtc of primary output for synchronization when screen has to crtcs with the same coverage")
+
+commit 9c959fac3af28d191105f63236096ad456dca614
+Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer%amd.com@localhost>
+Date: Thu Sep 29 16:42:09 2022 +0200
+
+ Use DRM_CAP_CURSOR_WIDTH/HEIGHT if possible
+
+ There's no need to hardcode the cursor size if the kernel can
+ report the value it wants.
+
+commit 4e011b91fa3ef58b85327d3429889efd934b3531
+Author: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+Date: Tue Aug 2 15:03:19 2022 -0700
+
+ gitlab CI: enable gitlab's builtin static analysis
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+
+commit dc81177ef342bf8c2aa5a6fd6687c7a09b4f9709
+Author: tiancyin <tianci.yin%amd.com@localhost>
+Date: Wed Aug 10 16:46:15 2022 +0800
+
+ Fix screen corruption on secondary GPU
+
+ [why]
+ On RHEL9+, xorg-server.pc shows that the Xorg no longer depends on dri,
+ and dri.pc provides "/opt/amdgpu/include" path for pkg-config, this
+ cause pkg-config no longer output "-I/opt/amdgpu/include", consequently
+ the configure can't find gbm.h and HAVE_GBM_BO_USE_LINEAR is not
+ declared, that cause the corruption.
+
+ [how]
+ Since the gbm.pc also provides the "/opt/amdgpu/include" path, in module
+ dependence checking, GBM_CFLAGS get this path, so just explicitly add
+ GBM_CFLAGS into CPPFLAGS can fix this issue.
+
+ Signed-off-by: tiancyin <tianci.yin%amd.com@localhost>
+
+commit a3a012b649eb9b3066abefe163a72854514792fa
+Author: Kai-Heng Feng <kai.heng.feng%canonical.com@localhost>
+Date: Mon Aug 8 10:49:11 2022 +0800
+
+ Initialize present extension for GPU screen
+
+ Some laptops have the external outputs routed to dGPU, when the external
+ output over dGPU is the only display in reverse prime mode, we need
+ present extension so fake CRTC won't be used.
+
+commit f3f57a58342c286808220bdbe6dc6bb7098763b9
+Author: Lukasz Spintzyk <lukasz.spintzyk%displaylink.com@localhost>
+Date: Fri Jun 11 14:54:35 2021 +0200
+
+ Do not consider disabled crtc anymore when looking for xf86crtc covering drawable.
+
+ This is commit is removing obsolete switch done in
+
+ xf86-video-ati at sha 61d0aec40e2521488c2fe43e7a6823e5c87d94d7: video: add option to include disabled CRTCs in best CRTC search
+ This is not required anymore as with commit done in
+ xorg-server at sha 5c5c1b77982a9af7279a90bc3c2be48adaa9c778: present: Add Present extension
+ That in case of lack of crtc is using fake_crtc with render 1Hz frequency
+
+ When consider_disabled is removed then amdgpu_pick_best_crtc is doing the same what rr_crtc_covering_box is doing
+ so it can be reimplemented to reuse that function.
+
+ Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk%synaptics.com@localhost>
+ Signed-off-by: Shashank Sharma <contactshashanksharma%gmail.com@localhost>
+ Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit e39a3ee07c9dea73b0452b71b1ef633b6cd6f389
+Author: Lukasz Spintzyk <lukasz.spintzyk%displaylink.com@localhost>
+Date: Mon Jun 21 11:41:40 2021 +0200
+
+ Prefer crtc of primary output for synchronization when screen has to crtcs with the same coverage
+
+ This is adjusting randr_crtc_covering_drawable to cover scenario fixed in
+ 9151f3b1c2ebcc34e63195888ba696f2183ba5e2
+
+ Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk%synaptics.com@localhost>
+ Signed-off-by: Shashank Sharma <contactshashanksharma%gmail.com@localhost>
+ Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 92fb43b8e96bbda77e03b7313ccbba75a304a1b1
+Author: Lukasz Spintzyk <lukasz.spintzyk%displaylink.com@localhost>
+Date: Fri Jun 11 08:52:58 2021 +0200
+
+ Use randr_crtc_covering_drawable used in modesetting
+
+ Use implementation from modesetting driver that is fixing issue:
+ https://gitlab.freedesktop.org/xorg/xserver/-/issues/1028
+
+ Instead of returning primary crtc as fallback we can now find and return crtc that belongs to secondary outputs.
+
+ v2:
+ restore original naming scheme for amdgpu_crtc_is_enabled, amdgpu_box_intersect, amdgpu_box_area functions
+
+ Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk%synaptics.com@localhost>
+ Signed-off-by: Emilia Majewska <emilia.majewska%synaptics.com@localhost>
+ Signed-off-by: Shashank Sharma <contactshashanksharma%gmail.com@localhost>
+ Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 57740ae2357ca7b973f78be31327365aaa60ed41
+Author: Łukasz Spintzyk <lukasz.spintzyk%synaptics.com@localhost>
+Date: Tue Jun 22 07:36:42 2021 +0200
+
+ amdgpu: fixup driver for new X server ABI
+
+ Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk%synaptics.com@localhost>
+ Signed-off-by: Shashank Sharma <contactshashanksharma%gmail.com@localhost>
+ Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 89b3eb9fffe2ead4257eee6d65accbac135aedc9
+Author: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+Date: Sat Feb 19 12:07:46 2022 -0800
+
+ Update URLs to reflect gitlab migration
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+
+commit 533bd30ceaa373788b3d0bfd4d486f0f1c624d0c
+Author: Shashank Sharma <shashank.sharma%amd.com@localhost>
+Date: Tue Feb 22 16:25:01 2022 +0100
+
+ Bump version for the 22.0.0 release
+
+ This release includes some bug fixes and one minor feature.
+
+ Signed-off-by: Shashank Sharma <shashank.sharma%amd.com@localhost>
+
+commit 402bfdead7d512726c01359c03fcd37b4efdc975
+Author: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+Date: Mon Jan 17 14:20:53 2022 -0800
+
+ Build xz tarballs instead of bzip2
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+
+commit c21bcdd1cbdc340a80d1ebfbf02376e2dad9c67c
+Author: Jesse Zhang <jesse.zhang%amd.com@localhost>
+Date: Wed Feb 16 16:11:44 2022 +0100
+
+ glamor: unset AMDGPU_CREATE_PIXMAP_SCANOUT on shared pixmap
+
+ While running multi-display test(for both APUs and DGPUs), if
+ the screen setting mode is changed from "single mode" to "share mode",
+ the screen shows tiled distortion, due to wrongly created pixmap.
+ This is a regression.
+
+ Fixes: 0732f81a2c67 ("glamor: Make pixmap scanout compatible if its dimensions are")
+ Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/48
+
+ Acked-by: Shashank Sharma <shashank.sharma%amd.com@localhost>
+ Signed-off-by: Jesse Zhang <jesse.zhang%amd.com@localhost>
+ Signed-off-by: Shashank Sharma <shashank.sharma%amd.com@localhost>
+
+commit 8bc148f0c14f6a6df1c3643a774e00a00c7942c6
+Author: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+Date: Mon Jan 17 14:25:12 2022 -0800
+
+ Fix spelling/wording issues
+
+ Found by using:
+ codespell --builtin clear,rare,usage,informal,code,names
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+
+commit 65c127366a22c03d2ffcdcdf91eec28cac733e83
+Author: Mario Kleiner <mario.kleiner.de%gmail.com@localhost>
+Date: Tue Jan 25 03:44:47 2022 +0100
+
+ Add option for non-vsynced flips for "secondary" outputs.
+
+ This is a straightforward port of a patch with the same name
+ "modesetting: Add option for non-vsynced flips for "secondary"
+ outputs." from X-Server master / X-Server 21.1. See server MR 742.
+ The description below is therefore identical to that X-Server commit:
+
+ Whenever an unredirected fullscreen window uses pageflipping for a
+ DRI3/Present PresentPixmap() operation and the X-Screen has more than
+ one active output, multiple crtc's need to execute pageflips. Only
+ after the last flip has completed can the PresentPixmap operation
+ as a whole complete.
+
+ If a sync_flip is requested for the present, then the current
+ implementation will synchronize each pageflip to the vblank of
+ its associated crtc. This provides tear-free image presentation
+ across all outputs, but introduces a different artifact, if not
+ all outputs run at the same refresh rate with perfect synchrony:
+ The slowest output throttles the presentation rate, and present
+ completion is delayed to flip completion of the "latest" output
+ to complete. This means degraded performance, e.g., a dual-display
+ setup with a 144 Hz monitor and a 60 Hz monitor will always be
+ throttled to at most 60 fps. It also means non-constant present
+ rate if refresh cycles drift against each other, creating complex
+ "beat patterns", tremors, stutters and periodic slowdowns - quite
+ irritating!
+
+ Such a scenario will be especially annoying if one uses multiple
+ outputs in "mirror mode" aka "clone mode". One output will usually
+ be the "production output" with the highest quality and fastest
+ display attached, whereas a secondary mirror output just has a
+ cheaper display for monitoring attached. Users care about perfect
+ and perfectly timed tear-free presentation on the "production output",
+ but cares less about quality on the secondary "mirror output". They
+ are willing to trade quality on secondary outputs away in exchange
+ for better presentation timing on the "production output".
+
+ One example use case for such production + monitoring displays are
+ neuroscience / medical science applications where one high quality
+ display device is used to present visual animations to test subjects
+ or patients in a fMRI scanner room (production display), whereas
+ an operator monitors the same visual animations from a control room
+ on a lower quality display. Presentation timing needs to be perfect,
+ and animations high-speed and tear-free for the production display,
+ whereas quality and timing don't matter for the monitoring display.
+
+ This commit gives users the option to choose such a trade-off as
+ opt-in:
+
+ It adds a new boolean option "AsyncFlipSecondaries" to the device section
+ of xorg.conf. If this option is specified as true, then DRI3 pageflip
+ behaviour changes as follows:
+
+ 1. The "reference crtc" for a windows PresentPixmap operation does a
+ vblank synced flip, or a DRM_MODE_PAGE_FLIP_ASYNC non-synchronized
+ flip, as requested by the caller, just as in the past. Typically
+ flips will be requested to be vblank synchronized for tear-free
+ presentation. The "reference crtc" is the one chosen by the caller
+ to drive presentation timing (as specified by PresentPixmap()'s
+ "target_msc", "divisor", "remainder" parameters and implemented by
+ vblank events) and to deliver Present completion timestamps (msc
+ and ust) extracted from its pageflip completion event.
+
+ 2. All other crtc's, which also page-flip in a multi-display configuration,
+ will try to flip with DRM_MODE_PAGE_FLIP_ASYNC, ie. immediately and
+ not synchronized to vblank. This allows the PresentPixmap operation
+ to complete with little delay compared to a single-display present,
+ especially if the different crtc's run at different video refresh
+ rates or their refresh cycles are not perfectly synchronized, but
+ drift against each other. The downside is potential tearing artifacts
+ on all outputs apart from the one of the "reference crtc".
+
+ Successfully tested on a AMD gpu with single-display and dual-display
+ setups, and with single-X-Screen as well as dual-X-Screen "ZaphodHeads"
+ configurations.
+
+ Signed-off-by: Mario Kleiner <mario.kleiner.de%gmail.com@localhost>
+
Home |
Main Index |
Thread Index |
Old Index