Update to xf86-video-ati 19.0.1. ok jsg@
This commit is contained in:
parent
0da2d73184
commit
2cf2ce5d2c
@ -1,3 +1,52 @@
|
||||
commit 36703f66c3b06875651606a6280d5dc9d9dad51e
|
||||
Author: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Date: Tue Mar 19 18:01:02 2019 +0100
|
||||
|
||||
Bump version for 19.0.1 release
|
||||
|
||||
commit 4407c78bd86da4460ee07a15a365e07d99e0dd27
|
||||
Author: Dave Airlie <airlied@redhat.com>
|
||||
Date: Thu Mar 14 11:17:32 2019 +0100
|
||||
|
||||
modesetting: add tile property support
|
||||
|
||||
This adds tiling support to the driver, it retrieves the tile info from
|
||||
the kernel and translates it into the server format and exposes the
|
||||
property.
|
||||
|
||||
(Ported from xserver commits 8fb8bbb3062f1a06621ab7030a9e89d5e8367b35
|
||||
and 6abdb54a11dac4e8854ff94ecdcb90a14321ab31)
|
||||
(Ported from amdgpu commit 6ee857726166f495abcd68e4ff60e3a09593d079)
|
||||
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
|
||||
commit 79bc0e054f37026377d54cac6cd8127d4aa9baca
|
||||
Author: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Date: Thu Mar 14 11:10:51 2019 +0100
|
||||
|
||||
Use radeon_finish in drmmode_crtc_scanout_update
|
||||
|
||||
radeon_glamor_finish only works if we're using glamor, otherwise it'll
|
||||
crash.
|
||||
|
||||
Fixes: ce7db51020d3 "Cancel pending scanout update in drmmode_crtc_scanout_update"
|
||||
Bug: https://bugs.debian.org/924540
|
||||
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
|
||||
commit f6cd4a67d7de5d3ff1a6e58a8c83749fc8ffc310
|
||||
Author: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Date: Fri Mar 8 11:48:10 2019 +0100
|
||||
|
||||
Revert "glamor: Avoid glamor_create_pixmap for pixmaps backing windows"
|
||||
|
||||
This reverts commit 274703087f80342f51fa69c935bb9a1cb0c4ae47.
|
||||
|
||||
Reports of visual corruption were bisected to this, e.g.
|
||||
https://bugs.archlinux.org/task/61941 . I can reproduce this with Turks,
|
||||
but not with Bonaire. I assume it's a Mesa/glamor bug, but let's revert
|
||||
for now.
|
||||
|
||||
Acked-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
|
||||
commit 0d132d99e0b750896a78f47d73a8639680495d8c
|
||||
Author: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Date: Wed Mar 6 17:48:03 2019 +0100
|
||||
|
20
driver/xf86-video-ati/configure
vendored
20
driver/xf86-video-ati/configure
vendored
@ -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.0.
|
||||
# Generated by GNU Autoconf 2.69 for xf86-video-ati 19.0.1.
|
||||
#
|
||||
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon>.
|
||||
#
|
||||
@ -591,8 +591,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='xf86-video-ati'
|
||||
PACKAGE_TARNAME='xf86-video-ati'
|
||||
PACKAGE_VERSION='19.0.0'
|
||||
PACKAGE_STRING='xf86-video-ati 19.0.0'
|
||||
PACKAGE_VERSION='19.0.1'
|
||||
PACKAGE_STRING='xf86-video-ati 19.0.1'
|
||||
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@ -1398,7 +1398,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# 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.0 to adapt to many kinds of systems.
|
||||
\`configure' configures xf86-video-ati 19.0.1 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1468,7 +1468,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of xf86-video-ati 19.0.0:";;
|
||||
short | recursive ) echo "Configuration of xf86-video-ati 19.0.1:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1629,7 +1629,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
xf86-video-ati configure 19.0.0
|
||||
xf86-video-ati configure 19.0.1
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@ -2044,7 +2044,7 @@ cat >config.log <<_ACEOF
|
||||
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.0, which was
|
||||
It was created by xf86-video-ati $as_me 19.0.1, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -2876,7 +2876,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='xf86-video-ati'
|
||||
VERSION='19.0.0'
|
||||
VERSION='19.0.1'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -20122,7 +20122,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# 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.0, which was
|
||||
This file was extended by xf86-video-ati $as_me 19.0.1, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -20188,7 +20188,7 @@ _ACEOF
|
||||
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.0
|
||||
xf86-video-ati config.status 19.0.1
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
# Initialize Autoconf
|
||||
AC_PREREQ([2.60])
|
||||
AC_INIT([xf86-video-ati],
|
||||
[19.0.0],
|
||||
[19.0.1],
|
||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon],
|
||||
[xf86-video-ati])
|
||||
|
||||
|
@ -785,7 +785,7 @@ drmmode_crtc_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode,
|
||||
screen->GetWindowPixmap(screen->root),
|
||||
extents)) {
|
||||
RegionEmpty(DamageRegion(drmmode_crtc->scanout_damage));
|
||||
radeon_glamor_finish(scrn);
|
||||
radeon_finish(scrn, drmmode_crtc->scanout[scanout_id].bo);
|
||||
|
||||
if (!drmmode_crtc->flip_pending) {
|
||||
radeon_drm_abort_entry(drmmode_crtc->
|
||||
@ -1576,6 +1576,51 @@ drmmode_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes)
|
||||
return MODE_OK;
|
||||
}
|
||||
|
||||
static void
|
||||
drmmode_output_attach_tile(xf86OutputPtr output)
|
||||
{
|
||||
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1, 17, 99, 901, 0)
|
||||
drmmode_output_private_ptr drmmode_output = output->driver_private;
|
||||
drmModeConnectorPtr koutput = drmmode_output->mode_output;
|
||||
RADEONEntPtr pRADEONEnt = RADEONEntPriv(output->scrn);
|
||||
struct xf86CrtcTileInfo tile_info, *set = NULL;
|
||||
int i;
|
||||
|
||||
if (!koutput) {
|
||||
xf86OutputSetTile(output, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
/* look for a TILE property */
|
||||
for (i = 0; i < koutput->count_props; i++) {
|
||||
drmModePropertyPtr props;
|
||||
props = drmModeGetProperty(pRADEONEnt->fd, koutput->props[i]);
|
||||
if (!props)
|
||||
continue;
|
||||
|
||||
if (!(props->flags & DRM_MODE_PROP_BLOB)) {
|
||||
drmModeFreeProperty(props);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!strcmp(props->name, "TILE")) {
|
||||
drmModeFreePropertyBlob(drmmode_output->tile_blob);
|
||||
drmmode_output->tile_blob =
|
||||
drmModeGetPropertyBlob(pRADEONEnt->fd,
|
||||
koutput->prop_values[i]);
|
||||
}
|
||||
drmModeFreeProperty(props);
|
||||
}
|
||||
if (drmmode_output->tile_blob) {
|
||||
if (xf86OutputParseKMSTile(drmmode_output->tile_blob->data,
|
||||
drmmode_output->tile_blob->length,
|
||||
&tile_info) == TRUE)
|
||||
set = &tile_info;
|
||||
}
|
||||
xf86OutputSetTile(output, set);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
koutput_get_prop_idx(int fd, drmModeConnectorPtr koutput,
|
||||
int type, const char *name)
|
||||
@ -1648,6 +1693,8 @@ drmmode_output_get_modes(xf86OutputPtr output)
|
||||
}
|
||||
xf86OutputSetEDID(output, mon);
|
||||
|
||||
drmmode_output_attach_tile(output);
|
||||
|
||||
/* modes should already be available */
|
||||
for (i = 0; i < koutput->count_modes; i++) {
|
||||
Mode = xnfalloc(sizeof(DisplayModeRec));
|
||||
@ -1665,8 +1712,11 @@ drmmode_output_destroy(xf86OutputPtr output)
|
||||
drmmode_output_private_ptr drmmode_output = output->driver_private;
|
||||
int i;
|
||||
|
||||
if (drmmode_output->edid_blob)
|
||||
drmModeFreePropertyBlob(drmmode_output->edid_blob);
|
||||
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1, 17, 99, 901, 0)
|
||||
drmModeFreePropertyBlob(drmmode_output->tile_blob);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < drmmode_output->num_props; i++) {
|
||||
drmModeFreeProperty(drmmode_output->props[i].mode_prop);
|
||||
free(drmmode_output->props[i].atoms);
|
||||
|
@ -142,6 +142,9 @@ typedef struct {
|
||||
drmModeConnectorPtr mode_output;
|
||||
drmModeEncoderPtr *mode_encoders;
|
||||
drmModePropertyBlobPtr edid_blob;
|
||||
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1, 17, 99, 901, 0)
|
||||
drmModePropertyBlobPtr tile_blob;
|
||||
#endif
|
||||
int dpms_enum_id;
|
||||
int num_props;
|
||||
drmmode_prop_ptr props;
|
||||
|
@ -238,7 +238,7 @@ radeon_glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth,
|
||||
if (info->shadow_primary) {
|
||||
if (usage != CREATE_PIXMAP_USAGE_BACKING_PIXMAP)
|
||||
return fbCreatePixmap(screen, w, h, depth, usage);
|
||||
} else if (usage != CREATE_PIXMAP_USAGE_BACKING_PIXMAP) {
|
||||
} else {
|
||||
pixmap = glamor_create_pixmap(screen, w, h, depth, usage);
|
||||
if (pixmap)
|
||||
return pixmap;
|
||||
|
Loading…
Reference in New Issue
Block a user