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/b8e50f292c93
branches:  trunk
changeset: 10426:b8e50f292c93
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sun Feb 23 06:17:05 2020 +0000

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

diffstat:

 external/mit/xf86-video-amdgpu/dist/ChangeLog            |  153 +++++++++++++++
 external/mit/xf86-video-amdgpu/dist/configure            |   20 +-
 external/mit/xf86-video-amdgpu/dist/configure.ac         |    2 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c    |   19 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri3.c    |   26 +--
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_kms.c     |   48 ++-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_pixmap.h  |   28 +-
 external/mit/xf86-video-amdgpu/dist/src/amdgpu_present.c |   33 ++-
 8 files changed, 253 insertions(+), 76 deletions(-)

diffs (truncated from 581 to 300 lines):

diff -r bf5b38d76fa0 -r b8e50f292c93 external/mit/xf86-video-amdgpu/dist/ChangeLog
--- a/external/mit/xf86-video-amdgpu/dist/ChangeLog     Sat Feb 22 09:42:27 2020 +0000
+++ b/external/mit/xf86-video-amdgpu/dist/ChangeLog     Sun Feb 23 06:17:05 2020 +0000
@@ -1,3 +1,156 @@
+commit b467d2569a003da05ad222b0dc095bee5eec450a
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Fri Oct 11 17:10:10 2019 +0200
+
+    Bump version for the 19.1.0 release
+
+commit a1b7263277c033e109629829c370c0e95978e061
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Thu Sep 26 15:56:59 2019 +0200
+
+    Don't unreference FBs of pixmaps from different screens in LeaveVT
+    
+    FindClientResourcesByType finds pixmaps from all screens, but trying to
+    process ones from other screens here makes no sense and likely results
+    in a crash or memory corruption.
+    
+    Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black
+                          framebuffer in LeaveVT")
+    (Ported from radeon commit 2faaecc69b127248718e759c6c98c84d56dd1b6b)
+
+commit 5b8bc9fc505c551dcd9b0ed5ab835a49fa4f9fda
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Wed Sep 18 12:55:45 2019 +0200
+
+    Don't set up black scanout buffer if LeaveVT is called from CloseScreen
+    
+    Avoids a crash described in
+    https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/merge_requests/43#note_223718
+    
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit e6fce59a071220967fcd4e2c9e4a262c72870761
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Jul 24 16:05:05 2019 +0200
+
+    present: Don't check pixmap pitch in check_flip with non-DC >= 3.34
+    
+    The current non-DC kernel driver also handles flipping between different
+    pitches correctly.
+    
+    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas%amd.com@localhost>
+
+commit 5bb2580b266468f87843b5585ae64e056b63bb88
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Jul 24 15:55:19 2019 +0200
+
+    present: Don't check pixmap pitch in check_flip with current DC
+    
+    Current DC handles flipping between different pitches correctly.
+    
+    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas%amd.com@localhost>
+
+commit ac66086613cbd0974b421cd5eda872adc15242ed
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Jul 24 15:45:21 2019 +0200
+
+    present: Also check pixmap pitch in check_flip with current xserver
+    
+    The corresponding check in the xserver Present code was removed again,
+    because flipping between different pitches can work in some cases.
+    
+    Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas%amd.com@localhost>
+
+commit 98f172eb2d2353e19edd8167f22215ce596811f8
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Mon Jul 29 18:54:24 2019 +0200
+
+    gitlab-ci: Use templates from wayland/ci-templates
+    
+    These are already used by xserver, Mesa and some other projects.
+    
+    Current Debian testing brings e.g. GCC 8.3.0 and clang 7.0.1.
+
+commit 87f41ace4920fd2069794211683659eb25b025a6
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jul 5 12:43:53 2019 +0200
+
+    Don't disable page flipping completely with SW cursor
+    
+    Even with SW cursor, page flipping can be used while no X cursor is
+    visible.
+    
+    Occurred to me in the context of xorg/xserver#828.
+
+commit 7d3fef72e0c871e1677e9e544f4cae5e238b5c52
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu May 9 17:39:49 2019 +0200
+
+    present: Check that we can get a KMS FB for flipping
+    
+    This can legitimately fail if the pixmap's storage is shared from
+    another device, e.g. when using PRIME render offloading.
+
+commit ea19a5207054bb159fc7fb6d88e0ceb10c3da010
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Jun 6 11:02:15 2019 +0200
+
+    Remove dri2_drawable_crtc parameter consider_disabled
+    
+    All callers were passing TRUE.
+    
+    Reviewed-and-tested-by: Flora Cui <flora.cui%amd.com@localhost>
+
+commit 3109f088fdbd89c2ee8078625d4f073852492656
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Jun 6 11:22:09 2019 +0200
+
+    dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL
+    
+    This way, the MSC will continue ticking at the rate of (the last mode
+    which was enabled for) that CRTC, instead of the client running
+    unthrottled.
+    
+    Reviewed-and-tested-by: Flora Cui <flora.cui%amd.com@localhost>
+
+commit fb06fb814700a47464abd756e1111dcc76d0d776
+Author: Flora Cui <flora.cui%amd.com@localhost>
+Date:   Wed May 29 14:18:50 2019 +0800
+
+    dri2: reply to client for WaitMSC request in any case
+    
+    otherwise client would wait for reply forever and desktop appears hang.
+    
+    Signed-off-by: Flora Cui <flora.cui%amd.com@localhost>
+    Acked-by: Feifei Xu <Feifei.Xu%amd.com@localhost>
+    Reviewed-by: Michel Dänzer <michel.daenzer%amd.com@localhost>
+
+commit 4b17533fcb30842caf0035ba593b7d986520cc85
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Tue Apr 30 17:50:15 2019 +0200
+
+    dri3: Always flush glamor before sharing pixmap storage with clients
+    
+    Even if glamor_gbm_bo_from_pixmap / glamor_fd_from_pixmap themselves
+    don't trigger any drawing, there could already be unflushed drawing to
+    the pixmap whose storage we share with a client.
+
+commit bf61e6d7ac1a5754b1026d7f80acf25ef622c491
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Apr 18 19:21:40 2019 +0200
+
+    Retry get_fb_ptr in get_fb
+    
+    If get_fb_ptr returns NULL, try again after pixmap_get_handle, it should
+    work then.
+    
+    Fixes spurious Present page flipping failures using "normal" pixmaps
+    which aren't shared with direct rendering clients, e.g. with a
+    compositor using the RENDER extension.
+    
+    Bugzilla: https://bugs.freedesktop.org/110417
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
 commit bd4ffd4ebbdf1c43ab9e1ef9ba8b812fd2dde4a4
 Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
 Date:   Tue Mar 19 18:44:31 2019 +0100
diff -r bf5b38d76fa0 -r b8e50f292c93 external/mit/xf86-video-amdgpu/dist/configure
--- a/external/mit/xf86-video-amdgpu/dist/configure     Sat Feb 22 09:42:27 2020 +0000
+++ b/external/mit/xf86-video-amdgpu/dist/configure     Sun Feb 23 06:17:05 2020 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xf86-video-amdgpu 19.0.1.
+# Generated by GNU Autoconf 2.69 for xf86-video-amdgpu 19.1.0.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/AMDgpu>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='xf86-video-amdgpu'
 PACKAGE_TARNAME='xf86-video-amdgpu'
-PACKAGE_VERSION='19.0.1'
-PACKAGE_STRING='xf86-video-amdgpu 19.0.1'
+PACKAGE_VERSION='19.1.0'
+PACKAGE_STRING='xf86-video-amdgpu 19.1.0'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/AMDgpu'
 PACKAGE_URL=''
 
@@ -1404,7 +1404,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xf86-video-amdgpu 19.0.1 to adapt to many kinds of systems.
+\`configure' configures xf86-video-amdgpu 19.1.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1476,7 +1476,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xf86-video-amdgpu 19.0.1:";;
+     short | recursive ) echo "Configuration of xf86-video-amdgpu 19.1.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1635,7 +1635,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xf86-video-amdgpu configure 19.0.1
+xf86-video-amdgpu configure 19.1.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2050,7 +2050,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xf86-video-amdgpu $as_me 19.0.1, which was
+It was created by xf86-video-amdgpu $as_me 19.1.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2921,7 +2921,7 @@
 
 # Define the identity of the package.
  PACKAGE='xf86-video-amdgpu'
- VERSION='19.0.1'
+ VERSION='19.1.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -20619,7 +20619,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xf86-video-amdgpu $as_me 19.0.1, which was
+This file was extended by xf86-video-amdgpu $as_me 19.1.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20685,7 +20685,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xf86-video-amdgpu config.status 19.0.1
+xf86-video-amdgpu config.status 19.1.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -r bf5b38d76fa0 -r b8e50f292c93 external/mit/xf86-video-amdgpu/dist/configure.ac
--- a/external/mit/xf86-video-amdgpu/dist/configure.ac  Sat Feb 22 09:42:27 2020 +0000
+++ b/external/mit/xf86-video-amdgpu/dist/configure.ac  Sun Feb 23 06:17:05 2020 +0000
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-amdgpu],
-        [19.0.1],
+        [19.1.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/AMDgpu],
         [xf86-video-amdgpu])
 
diff -r bf5b38d76fa0 -r b8e50f292c93 external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c
--- a/external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c     Sat Feb 22 09:42:27 2020 +0000
+++ b/external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c     Sun Feb 23 06:17:05 2020 +0000
@@ -414,18 +414,20 @@
 }
 
 static
-xf86CrtcPtr amdgpu_dri2_drawable_crtc(DrawablePtr pDraw, Bool consider_disabled)
+xf86CrtcPtr amdgpu_dri2_drawable_crtc(DrawablePtr pDraw)
 {
        ScreenPtr pScreen = pDraw->pScreen;
        ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-       xf86CrtcPtr crtc = amdgpu_pick_best_crtc(pScrn, consider_disabled,
+       xf86CrtcPtr crtc = amdgpu_pick_best_crtc(pScrn, TRUE,
                                                 pDraw->x, pDraw->x + pDraw->width,
                                                 pDraw->y, pDraw->y + pDraw->height);
 
-       if (crtc && pDraw->type == DRAWABLE_WINDOW) {
+       if (pDraw->type == DRAWABLE_WINDOW) {
                struct dri2_window_priv *priv = get_dri2_window_priv((WindowPtr)pDraw);
 
-               if (priv->crtc && priv->crtc != crtc) {
+               if (!crtc) {
+                       crtc = priv->crtc;
+               } else if (priv->crtc && priv->crtc != crtc) {
                        CARD64 ust, mscold, mscnew;
 
                        if (amdgpu_dri2_get_crtc_msc(priv->crtc, &ust, &mscold) &&
@@ -831,7 +833,7 @@
  */
 static int amdgpu_dri2_get_msc(DrawablePtr draw, CARD64 * ust, CARD64 * msc)
 {
-       xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw, TRUE);
+       xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw);
 
        /* Drawable not displayed, make up a value */
        if (!crtc) {
@@ -946,7 +948,7 @@
        ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
        DRI2FrameEventPtr wait_info = NULL;
        uintptr_t drm_queue_seq = 0;
-       xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw, TRUE);
+       xf86CrtcPtr crtc = amdgpu_dri2_drawable_crtc(draw);



Home | Main Index | Thread Index | Old Index