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/5facace3633e
branches: xorg
changeset: 10431:5facace3633e
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 1d9fdc8c3b67 -r 5facace3633e external/mit/xf86-video-amdgpu/dist/ChangeLog
--- a/external/mit/xf86-video-amdgpu/dist/ChangeLog Tue Sep 24 20:57:16 2019 +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 1d9fdc8c3b67 -r 5facace3633e external/mit/xf86-video-amdgpu/dist/configure
--- a/external/mit/xf86-video-amdgpu/dist/configure Tue Sep 24 20:57:16 2019 +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 1d9fdc8c3b67 -r 5facace3633e external/mit/xf86-video-amdgpu/dist/configure.ac
--- a/external/mit/xf86-video-amdgpu/dist/configure.ac Tue Sep 24 20:57:16 2019 +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 1d9fdc8c3b67 -r 5facace3633e external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c
--- a/external/mit/xf86-video-amdgpu/dist/src/amdgpu_dri2.c Tue Sep 24 20:57:16 2019 +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