Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[xsrc/trunk]: xsrc/external/mit/xf86-video-amdgpu/dist initial import of xf86...



details:   https://anonhg.NetBSD.org/xsrc/rev/70623e5f8b40
branches:  trunk
changeset: 10026:70623e5f8b40
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sat Dec 29 08:47:50 2018 +0000

description:
initial import of xf86-video-amdgpu-18.1.0

diffstat:

 external/mit/xf86-video-amdgpu/dist/ChangeLog                    |   903 +++++++
 external/mit/xf86-video-amdgpu/dist/Makefile.in                  |    15 +-
 external/mit/xf86-video-amdgpu/dist/aclocal.m4                   |   189 +-
 external/mit/xf86-video-amdgpu/dist/compile                      |    13 +-
 external/mit/xf86-video-amdgpu/dist/conf/Makefile.in             |    13 +-
 external/mit/xf86-video-amdgpu/dist/configure                    |   231 +-
 external/mit/xf86-video-amdgpu/dist/configure.ac                 |     6 +-
 external/mit/xf86-video-amdgpu/dist/depcomp                      |     8 +-
 external/mit/xf86-video-amdgpu/dist/install-sh                   |    36 +-
 external/mit/xf86-video-amdgpu/dist/man/Makefile.in              |    13 +-
 external/mit/xf86-video-amdgpu/dist/missing                      |    16 +-
 external/mit/xf86-video-amdgpu/dist/src/Makefile.in              |    89 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_bo_helper.c       |    13 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c            |    50 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.h            |     1 -
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri3.c            |     1 +
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_drm_queue.c       |   155 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_drm_queue.h       |     8 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_drv.h             |     7 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_glamor.c          |    49 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_glamor_wrappers.c |     2 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_kms.c             |   107 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_pixmap.c          |     2 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_pixmap.h          |     2 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_present.c         |    36 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_probe.c           |    53 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_video.c           |     2 +-
 external/mit/xf86-video-amdgpu/dist/src/drmmode_display.c        |  1283 ++++++++-
 external/mit/xf86-video-amdgpu/dist/src/drmmode_display.h        |    51 +-
 29 files changed, 2676 insertions(+), 678 deletions(-)

diffs (truncated from 5406 to 300 lines):

diff -r eb7652dc79e9 -r 70623e5f8b40 external/mit/xf86-video-amdgpu/dist/ChangeLog
--- a/external/mit/xf86-video-amdgpu/dist/ChangeLog     Sat Dec 29 06:46:43 2018 +0000
+++ b/external/mit/xf86-video-amdgpu/dist/ChangeLog     Sat Dec 29 08:47:50 2018 +0000
@@ -1,3 +1,906 @@
+commit d5e17dc4c78aee5d37de399728066b9be881e044
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Sep 14 17:00:17 2018 +0200
+
+    Bump version for the 18.1.0 release
+
+commit 6572be49b713a26eca14f16e1854cabf28101288
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Sep 13 11:44:21 2018 +0200
+
+    Bail from drmmode_cm_init if there's no CRTC
+    
+    We would crash due to dereferencing the NULL mode_res->crtc pointer.
+    
+    Bugzilla: https://bugs.freedesktop.org/107913
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit ca5eb9894fff153c0a1df7bdc4a4745713309e27
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Aug 29 18:50:45 2018 +0200
+
+    Bail early from drm_wait_pending_flip if there's no pending flip
+    
+    No need to process any events in that case.
+    
+    v2:
+    * Re-check drmmode_crtc->flip_pending after processing each event
+
+commit a923bedfd91d39977dbf95f296cf9b68439490f2
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Aug 31 12:44:37 2018 +0200
+
+    Do not push the CM_GAMMA_LUT property values in drmmode_crtc_cm_init
+    
+    The crtc->gamma_lut values aren't initialized yet at this point, and
+    the property values are pushed again from drmmode_setup_colormap
+    anyway.
+    
+    Fixes intermittent flicker due to random gamma LUT values during server
+    startup.
+    
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 26770be44b89b83bf39c28f2fe284c8cb92ed0c0
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Aug 29 18:49:19 2018 +0200
+
+    Don't use xorg_list_for_each_entry_safe for signalled flips
+    
+    drm_wait_pending_flip can get called from drm_handle_event, in which
+    case xorg_list_for_each_entry_safe can end up processing the same entry
+    in both. To avoid this, just process the first list entry until the list
+    is empty.
+
+commit 7eea3e2cd74eed22e982319144e18ae5b1087b78
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Aug 29 18:41:19 2018 +0200
+
+    Always delete entry from list in drm_queue_handler
+    
+    We left entries without a handler hook in the list, so the list could
+    keep taking longer to process and use up more memory.
+
+commit b804d7f85d8a07389ba7d3f9b8af8773f852f1c7
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Aug 29 17:34:55 2018 +0200
+
+    glamor: Handle ihandle == -1 in amdgpu_glamor_set_shared_pixmap_backing
+    
+    (Ported from radeon commit de88ea2755611bdcb18d91d8234d2ab5be8ff2e9)
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit ae2a450cb98707c4cab8a8265a284cf708bcd43d
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Aug 29 17:31:49 2018 +0200
+
+    Handle ihandle == -1 in amdgpu_set_shared_pixmap_backing
+    
+    It means to stop using the shared pixmap backing.
+    
+    (Ported from radeon commit 1799680f7bd84e0618f34f4c7486799521ddaf83)
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 34e851d1f284da5afcfe449f349cf1eb5e962408
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Aug 24 17:18:10 2018 +0200
+
+    Use AC_CONFIG_MACRO_DIR instead of AC_CONFIG_MACRO_DIRS
+    
+    Older versions of autoconf only supported the former.
+    
+    (Cherry picked from radeon commit cba8fe4d64819aaa8ba516aa68dbe6d2aa153046)
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit afdfa2a1b6d4b594e0ed345b32279d4a2fd5e188
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Aug 24 17:17:43 2018 +0200
+
+    Add m4 directory
+    
+    Although normally it only warns about it, under some circumstances,
+    aclocal can error out if this directory doesn't exist.
+    
+    Reported-by: John Lumby <johnlumby%hotmail.com@localhost>
+    (Cherry picked from radeon commit 7b01c10137aba24c8f61dd9b2a19ea257ad24371)
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit f6cd72e64e85896b6d155bee0930e59771dcb701
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Aug 16 16:31:01 2018 +0200
+
+    Use correct FB handle in amdgpu_do_pageflip
+    
+    We were always using the handle of the client provided FB, which
+    prevented RandR transforms from working, and could result in a black
+    screen.
+    
+    Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec"
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 85cd8eef0cbed7b409b07f58d76dacd34aa3ddea
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Tue Jul 24 18:58:27 2018 +0200
+
+    Remove drmmode_crtc_private_rec::present_vblank_* related code
+    
+    Not needed anymore with the more robust mechanisms for preventing nested
+    drmHandleEvent calls introduced in the previous changes.
+    
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit e52872da69ecc84dafb3355839e35b0383f0d228
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jul 20 16:56:22 2018 +0200
+
+    Defer vblank event handling while waiting for a pending flip
+    
+    This is to avoid submitting more flips while we are waiting for pending
+    ones to complete.
+    
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 739181c8d3334ff14b5a607895dfdeb29b0d9020
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Jul 25 13:00:15 2018 +0200
+
+    Add amdgpu_drm_handle_event wrapper for drmHandleEvent
+    
+    Instead of processing DRM events directly from drmHandleEvent's
+    callbacks, there are three phases:
+    
+    1. drmHandleEvent is called, and signalled events are re-queued to
+       _signalled lists from its callbacks.
+    2. Signalled page flip completion events are processed.
+    3. Signalled vblank events are processed.
+    
+    This should make sure that we never call drmHandleEvent from one of its
+    callbacks, which would usually result in blocking forever.
+
+commit 6029794e8a35417faf825491a89b85f713c77fc1
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jul 20 17:07:23 2018 +0200
+
+    Add amdgpu_drm_wait_pending_flip function
+    
+    Replacing the drmmode_crtc_wait_pending_event macro.
+    
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 0148283984c77f7a6e97026edc3093497547e0a4
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jul 20 16:37:05 2018 +0200
+
+    Move DRM event queue related initialization to amdgpu_drm_queue_init
+    
+    And make amdgpu_drm_queue_handler not directly accessible outside of
+    amdgpu_drm_queue.c.
+    
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 7f65a8c9e03bddf2378aaa928460632ed6b1a688
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Aug 3 17:52:28 2018 +0200
+
+    glamor: Check glamor module version for depth 30 support
+    
+    Instead of the Xorg version. This should allow glamor backported from
+    xserver >= 1.20 to work with older Xorg versions.
+    
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 08c4d42f43f80baa4bbc2ff9d0a422202cdc3538
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Aug 2 18:41:04 2018 +0200
+
+    glamor: Use glamor_egl_create_textured_pixmap_from_gbm_bo when possible
+    
+    Inspired by the modesetting driver.
+    
+    (Ported from radeon commit db28d35ce9fd07a2a4703f3df0633d4c8291ff9b)
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 9b6782c821e0bdc53336d98f87ddde752faf7902
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jul 27 17:55:11 2018 +0200
+
+    Store FB for each CRTC in drmmode_flipdata_rec
+    
+    We were only storing the FB provided by the client, but on CRTCs with
+    TearFree enabled, we use a separate FB. This could cause
+    drmmode_flip_handler to fail to clear drmmode_crtc->flip_pending, which
+    could result in a hang when waiting for the pending flip to complete. We
+    were trying to avoid that by always clearing drmmode_crtc->flip_pending
+    when TearFree is enabled, but that wasn't reliable, because
+    drmmode_crtc->tear_free can already be FALSE at this point when
+    disabling TearFree.
+    
+    Now that we're keeping track of each CRTC's flip FB separately,
+    drmmode_flip_handler can reliably clear flip_pending, and we no longer
+    need the TearFree hack.
+    
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 2989d40ef74d9966e8e8df2ef7727b2cc48d4960
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Jul 25 18:37:48 2018 +0200
+
+    glamor: Set AMDGPU_CREATE_PIXMAP_DRI2 for DRI3 pixmaps
+    
+    Not doing this resulted in falling back to software for DRI3 client
+    presentation operations with ShadowPrimary.
+    
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit f3b2ed37d683f8616a0a31ff63133ddb8fe1a4a3
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Mon Jul 23 18:42:39 2018 +0200
+
+    Use strcpy for RandR output property names
+    
+    Instead of strncpy with the string length. Avoids new warnings with GCC
+    8:
+    
+    ../../src/drmmode_display.c: In function â??drmmode_output_create_resourcesâ??:
+    ../../src/drmmode_display.c:2240:2: warning: â??strncpyâ?? output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
+      strncpy(tearfree_prop->name, "TearFree", 8);
+      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    ../../src/drmmode_display.c:2244:2: warning: â??strncpyâ?? output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
+      strncpy(tearfree_prop->enums[0].name, "off", 3);
+      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    ../../src/drmmode_display.c:2245:2: warning: â??strncpyâ?? output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation]
+      strncpy(tearfree_prop->enums[1].name, "on", 2);
+      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    ../../src/drmmode_display.c:2247:2: warning: â??strncpyâ?? output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
+      strncpy(tearfree_prop->enums[2].name, "auto", 4);
+      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    
+    Reviewed-by: Slava Abramov <slava.abramov%amd.com@localhost>
+
+commit 5f06d6b8ba570b500956ad26fee711d5ac427818
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Tue Jul 17 19:00:51 2018 +0200
+
+    Remove drmmode_terminate_leases
+    
+    The RandR screen private is already freed when our CloseScreen runs, so
+    this can't do anything useful. This cleanup has to be done by the X
+    server itself.
+
+commit 7cc2d4515a63845a027214daf4d391cf56e35bb3
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Jul 19 16:59:22 2018 +0200
+
+    Remove AMDGPUInfoRec::fbcon_pixmap
+    
+    We always destroy the fbcon pixmap in drmmode_copy_fb anyway.
+    
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 46d87187c6a0b8f941cc6f30af1f53a98ff2e635
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Jul 19 12:37:42 2018 +0200
+
+    Don't use DRM_IOCTL_GEM_FLINK in create_pixmap_for_fbcon
+    
+    We don't need it.
+
+commit b8d8416792488f7b15c94234d7e0e35d5ce10ed9
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Jul 19 11:36:19 2018 +0200
+
+    Free previous xf86CrtcRec gamma LUT memory
+    
+    We were leaking it.
+    
+    Also, don't bother allocating new memory if it's already the expected



Home | Main Index | Thread Index | Old Index