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-ati-kms/dist initial import of xf86...



details:   https://anonhg.NetBSD.org/xsrc/rev/41c887c3c479
branches:  xorg
changeset: 10432:41c887c3c479
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sun Feb 23 06:17:09 2020 +0000

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

diffstat:

 external/mit/xf86-video-ati-kms/dist/ChangeLog            |  120 ++++++++++++++
 external/mit/xf86-video-ati-kms/dist/configure            |   20 +-
 external/mit/xf86-video-ati-kms/dist/configure.ac         |    2 +-
 external/mit/xf86-video-ati-kms/dist/src/radeon.h         |   28 +-
 external/mit/xf86-video-ati-kms/dist/src/radeon_dri2.c    |   19 +-
 external/mit/xf86-video-ati-kms/dist/src/radeon_dri3.c    |   26 +--
 external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c     |   47 +++--
 external/mit/xf86-video-ati-kms/dist/src/radeon_present.c |   18 ++
 8 files changed, 210 insertions(+), 70 deletions(-)

diffs (truncated from 516 to 300 lines):

diff -r 5facace3633e -r 41c887c3c479 external/mit/xf86-video-ati-kms/dist/ChangeLog
--- a/external/mit/xf86-video-ati-kms/dist/ChangeLog    Sun Feb 23 06:17:05 2020 +0000
+++ b/external/mit/xf86-video-ati-kms/dist/ChangeLog    Sun Feb 23 06:17:09 2020 +0000
@@ -1,3 +1,123 @@
+commit b9bd8097e1d2c088b081f1b81799ea3892406214
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Tue Oct 15 17:54:12 2019 +0200
+
+    Bump version for 19.1.0 release
+
+commit 2faaecc69b127248718e759c6c98c84d56dd1b6b
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Fri Sep 20 17:24:19 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: 06a465484101 ("Make all active CRTCs scan out an all-black
+                          framebuffer in LeaveVT")
+
+commit 2cbbd8648cdd27db8076565943b932ef81337053
+Author: Michel Dänzer <mdaenzer%redhat.com@localhost>
+Date:   Fri Sep 20 18:47:02 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
+    
+    (Ported from amdgpu commit 5b8bc9fc505c551dcd9b0ed5ab835a49fa4f9fda)
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit c7ed12cb2ea76999351d7cb87877224bdc0664f0
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu Jul 18 18:14:48 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.
+    (Ported from amdgpu commit 87f41ace4920fd2069794211683659eb25b025a6)
+
+commit 33803c85f761d343aa7300311b8e9489b1a89495
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Tue Jun 25 17:46:23 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.
+    
+    (Ported from amdgpu commit 7d3fef72e0c871e1677e9e544f4cae5e238b5c52)
+
+commit fee737e82837dc8282a832fc9391ed959c4c3737
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jun 14 11:23:34 2019 +0200
+
+    Remove dri2_drawable_crtc parameter consider_disabled
+    
+    All callers were passing TRUE.
+    
+    (Ported from amdgpu commit ea19a5207054bb159fc7fb6d88e0ceb10c3da010)
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit 2a3f2d2089f603c99be54c98d7033155e771ce7b
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Fri Jun 14 11:21:40 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.
+    
+    (Ported from amdgpu commit 3109f088fdbd89c2ee8078625d4f073852492656)
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit d5f5bc5846ef06c3ecf9e5acf1ca357574f06f5a
+Author: Flora Cui <flora.cui%amd.com@localhost>
+Date:   Fri Jun 14 11:20:12 2019 +0200
+
+    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>
+    (Ported from amdgpu commit fb06fb814700a47464abd756e1111dcc76d0d776)
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit f758908db4e71406e5d437d32e43aabd38a63504
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Thu May 9 12:35:37 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.
+    
+    (Ported from amdgpu commit 4b17533fcb30842caf0035ba593b7d986520cc85)
+    Acked-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
+commit d1d8e3c8d0a0a0394d395eba171460501745209b
+Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
+Date:   Wed Apr 24 12:25:39 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
+    (Ported from amdgpu commit bf61e6d7ac1a5754b1026d7f80acf25ef622c491)
+    Reviewed-by: Alex Deucher <alexander.deucher%amd.com@localhost>
+
 commit 36703f66c3b06875651606a6280d5dc9d9dad51e
 Author: Michel Dänzer <michel.daenzer%amd.com@localhost>
 Date:   Tue Mar 19 18:01:02 2019 +0100
diff -r 5facace3633e -r 41c887c3c479 external/mit/xf86-video-ati-kms/dist/configure
--- a/external/mit/xf86-video-ati-kms/dist/configure    Sun Feb 23 06:17:05 2020 +0000
+++ b/external/mit/xf86-video-ati-kms/dist/configure    Sun Feb 23 06:17:09 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-ati 19.0.1.
+# Generated by GNU Autoconf 2.69 for xf86-video-ati 19.1.0.
 #
 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='xf86-video-ati'
 PACKAGE_TARNAME='xf86-video-ati'
-PACKAGE_VERSION='19.0.1'
-PACKAGE_STRING='xf86-video-ati 19.0.1'
+PACKAGE_VERSION='19.1.0'
+PACKAGE_STRING='xf86-video-ati 19.1.0'
 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon'
 PACKAGE_URL=''
 
@@ -1408,7 +1408,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-ati 19.0.1 to adapt to many kinds of systems.
+\`configure' configures xf86-video-ati 19.1.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1479,7 +1479,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xf86-video-ati 19.0.1:";;
+     short | recursive ) echo "Configuration of xf86-video-ati 19.1.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1642,7 +1642,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xf86-video-ati configure 19.0.1
+xf86-video-ati configure 19.1.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2057,7 +2057,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-ati $as_me 19.0.1, which was
+It was created by xf86-video-ati $as_me 19.1.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2928,7 +2928,7 @@
 
 # Define the identity of the package.
  PACKAGE='xf86-video-ati'
- VERSION='19.0.1'
+ VERSION='19.1.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -20729,7 +20729,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-ati $as_me 19.0.1, which was
+This file was extended by xf86-video-ati $as_me 19.1.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20795,7 +20795,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-ati config.status 19.0.1
+xf86-video-ati config.status 19.1.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -r 5facace3633e -r 41c887c3c479 external/mit/xf86-video-ati-kms/dist/configure.ac
--- a/external/mit/xf86-video-ati-kms/dist/configure.ac Sun Feb 23 06:17:05 2020 +0000
+++ b/external/mit/xf86-video-ati-kms/dist/configure.ac Sun Feb 23 06:17:09 2020 +0000
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ati],
-        [19.0.1],
+        [19.1.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon],
         [xf86-video-ati])
 
diff -r 5facace3633e -r 41c887c3c479 external/mit/xf86-video-ati-kms/dist/src/radeon.h
--- a/external/mit/xf86-video-ati-kms/dist/src/radeon.h Sun Feb 23 06:17:05 2020 +0000
+++ b/external/mit/xf86-video-ati-kms/dist/src/radeon.h Sun Feb 23 06:17:09 2020 +0000
@@ -309,6 +309,7 @@
 
        struct radeon_buffer *bo;
        struct drmmode_fb *fb;
+       Bool fb_failed;
 
        uint32_t tiling_flags;
 
@@ -877,21 +878,22 @@
 radeon_pixmap_get_fb(PixmapPtr pix)
 {
     struct drmmode_fb **fb_ptr = radeon_pixmap_get_fb_ptr(pix);
-
-    if (!fb_ptr)
-       return NULL;
-
-    if (!*fb_ptr) {
-       uint32_t handle;
+    uint32_t handle;
 
-       if (radeon_get_pixmap_handle(pix, &handle)) {
-           ScrnInfoPtr scrn = xf86ScreenToScrn(pix->drawable.pScreen);
-           RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
+    if (fb_ptr && *fb_ptr)
+       return *fb_ptr;
+       
+    if (radeon_get_pixmap_handle(pix, &handle)) {
+       ScrnInfoPtr scrn = xf86ScreenToScrn(pix->drawable.pScreen);
+       RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
 
-           *fb_ptr = radeon_fb_create(scrn, pRADEONEnt->fd, pix->drawable.width,
-                                      pix->drawable.height, pix->devKind,
-                                      handle);
-       }
+       if (!fb_ptr)
+           fb_ptr = radeon_pixmap_get_fb_ptr(pix);
+
+       *fb_ptr = radeon_fb_create(scrn, pRADEONEnt->fd,
+                                  pix->drawable.width,
+                                  pix->drawable.height, pix->devKind,
+                                  handle);
     }
 
     return *fb_ptr;
diff -r 5facace3633e -r 41c887c3c479 external/mit/xf86-video-ati-kms/dist/src/radeon_dri2.c
--- a/external/mit/xf86-video-ati-kms/dist/src/radeon_dri2.c    Sun Feb 23 06:17:05 2020 +0000
+++ b/external/mit/xf86-video-ati-kms/dist/src/radeon_dri2.c    Sun Feb 23 06:17:09 2020 +0000
@@ -509,18 +509,20 @@
 }
 
 static
-xf86CrtcPtr radeon_dri2_drawable_crtc(DrawablePtr pDraw, Bool consider_disabled)
+xf86CrtcPtr radeon_dri2_drawable_crtc(DrawablePtr pDraw)
 {
     ScreenPtr pScreen = pDraw->pScreen;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-    xf86CrtcPtr crtc = radeon_pick_best_crtc(pScrn, consider_disabled,
+    xf86CrtcPtr crtc = radeon_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 (radeon_dri2_get_crtc_msc(priv->crtc, &ust, &mscold) &&
@@ -926,7 +928,7 @@



Home | Main Index | Thread Index | Old Index