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
|
commit 0d132d99e0b750896a78f47d73a8639680495d8c
|
||||||
Author: Michel Dänzer <michel.daenzer@amd.com>
|
Author: Michel Dänzer <michel.daenzer@amd.com>
|
||||||
Date: Wed Mar 6 17:48:03 2019 +0100
|
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
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# 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>.
|
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon>.
|
||||||
#
|
#
|
||||||
@ -591,8 +591,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='xf86-video-ati'
|
PACKAGE_NAME='xf86-video-ati'
|
||||||
PACKAGE_TARNAME='xf86-video-ati'
|
PACKAGE_TARNAME='xf86-video-ati'
|
||||||
PACKAGE_VERSION='19.0.0'
|
PACKAGE_VERSION='19.0.1'
|
||||||
PACKAGE_STRING='xf86-video-ati 19.0.0'
|
PACKAGE_STRING='xf86-video-ati 19.0.1'
|
||||||
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon'
|
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon'
|
||||||
PACKAGE_URL=''
|
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.
|
# 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.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
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]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@ -1468,7 +1468,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
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
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@ -1629,7 +1629,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
xf86-video-ati configure 19.0.0
|
xf86-video-ati configure 19.0.1
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
@ -2044,7 +2044,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
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
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@ -2876,7 +2876,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='xf86-video-ati'
|
PACKAGE='xf86-video-ati'
|
||||||
VERSION='19.0.0'
|
VERSION='19.0.1'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
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
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
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
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@ -20188,7 +20188,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
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,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
# Initialize Autoconf
|
# Initialize Autoconf
|
||||||
AC_PREREQ([2.60])
|
AC_PREREQ([2.60])
|
||||||
AC_INIT([xf86-video-ati],
|
AC_INIT([xf86-video-ati],
|
||||||
[19.0.0],
|
[19.0.1],
|
||||||
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon],
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/Radeon],
|
||||||
[xf86-video-ati])
|
[xf86-video-ati])
|
||||||
|
|
||||||
|
@ -785,7 +785,7 @@ drmmode_crtc_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode,
|
|||||||
screen->GetWindowPixmap(screen->root),
|
screen->GetWindowPixmap(screen->root),
|
||||||
extents)) {
|
extents)) {
|
||||||
RegionEmpty(DamageRegion(drmmode_crtc->scanout_damage));
|
RegionEmpty(DamageRegion(drmmode_crtc->scanout_damage));
|
||||||
radeon_glamor_finish(scrn);
|
radeon_finish(scrn, drmmode_crtc->scanout[scanout_id].bo);
|
||||||
|
|
||||||
if (!drmmode_crtc->flip_pending) {
|
if (!drmmode_crtc->flip_pending) {
|
||||||
radeon_drm_abort_entry(drmmode_crtc->
|
radeon_drm_abort_entry(drmmode_crtc->
|
||||||
@ -1576,6 +1576,51 @@ drmmode_output_mode_valid(xf86OutputPtr output, DisplayModePtr pModes)
|
|||||||
return MODE_OK;
|
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
|
static int
|
||||||
koutput_get_prop_idx(int fd, drmModeConnectorPtr koutput,
|
koutput_get_prop_idx(int fd, drmModeConnectorPtr koutput,
|
||||||
int type, const char *name)
|
int type, const char *name)
|
||||||
@ -1648,6 +1693,8 @@ drmmode_output_get_modes(xf86OutputPtr output)
|
|||||||
}
|
}
|
||||||
xf86OutputSetEDID(output, mon);
|
xf86OutputSetEDID(output, mon);
|
||||||
|
|
||||||
|
drmmode_output_attach_tile(output);
|
||||||
|
|
||||||
/* modes should already be available */
|
/* modes should already be available */
|
||||||
for (i = 0; i < koutput->count_modes; i++) {
|
for (i = 0; i < koutput->count_modes; i++) {
|
||||||
Mode = xnfalloc(sizeof(DisplayModeRec));
|
Mode = xnfalloc(sizeof(DisplayModeRec));
|
||||||
@ -1665,8 +1712,11 @@ drmmode_output_destroy(xf86OutputPtr output)
|
|||||||
drmmode_output_private_ptr drmmode_output = output->driver_private;
|
drmmode_output_private_ptr drmmode_output = output->driver_private;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (drmmode_output->edid_blob)
|
drmModeFreePropertyBlob(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++) {
|
for (i = 0; i < drmmode_output->num_props; i++) {
|
||||||
drmModeFreeProperty(drmmode_output->props[i].mode_prop);
|
drmModeFreeProperty(drmmode_output->props[i].mode_prop);
|
||||||
free(drmmode_output->props[i].atoms);
|
free(drmmode_output->props[i].atoms);
|
||||||
|
@ -142,6 +142,9 @@ typedef struct {
|
|||||||
drmModeConnectorPtr mode_output;
|
drmModeConnectorPtr mode_output;
|
||||||
drmModeEncoderPtr *mode_encoders;
|
drmModeEncoderPtr *mode_encoders;
|
||||||
drmModePropertyBlobPtr edid_blob;
|
drmModePropertyBlobPtr edid_blob;
|
||||||
|
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1, 17, 99, 901, 0)
|
||||||
|
drmModePropertyBlobPtr tile_blob;
|
||||||
|
#endif
|
||||||
int dpms_enum_id;
|
int dpms_enum_id;
|
||||||
int num_props;
|
int num_props;
|
||||||
drmmode_prop_ptr 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 (info->shadow_primary) {
|
||||||
if (usage != CREATE_PIXMAP_USAGE_BACKING_PIXMAP)
|
if (usage != CREATE_PIXMAP_USAGE_BACKING_PIXMAP)
|
||||||
return fbCreatePixmap(screen, w, h, depth, usage);
|
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);
|
pixmap = glamor_create_pixmap(screen, w, h, depth, usage);
|
||||||
if (pixmap)
|
if (pixmap)
|
||||||
return pixmap;
|
return pixmap;
|
||||||
|
Loading…
Reference in New Issue
Block a user