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