Module Name: xsrc
Committed By: mrg
Date: Sun Feb 23 06:33:20 UTC 2020
Modified Files:
xsrc/external/mit/xf86-video-amdgpu/include: config.h
xsrc/external/mit/xf86-video-ati-kms/dist/src: radeon_kms.c
xsrc/external/mit/xf86-video-ati-kms/include: config.h
xsrc/external/mit/xf86-video-geode/dist/src: gx_driver.c
xsrc/external/mit/xf86-video-s3/dist: compile
xsrc/external/mit/xf86-video-s3/dist/src: s3.h s3_bios.c s3_driver.c
Removed Files:
xsrc/external/mit/xf86-video-s3/dist: README
Log Message:
merge xf86-video-ati 19.1.0, xf86-video-amdgpu 19.1.0,
xf86-video-geode 2.11.20, and xf86-video-s3 0.7.0.
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
xsrc/external/mit/xf86-video-amdgpu/include/config.h
cvs rdiff -u -r1.8 -r1.9 \
xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c
cvs rdiff -u -r1.10 -r1.11 \
xsrc/external/mit/xf86-video-ati-kms/include/config.h
cvs rdiff -u -r1.5 -r1.6 \
xsrc/external/mit/xf86-video-geode/dist/src/gx_driver.c
cvs rdiff -u -r1.1.1.1 -r0 xsrc/external/mit/xf86-video-s3/dist/README
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xf86-video-s3/dist/compile
cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/xf86-video-s3/dist/src/s3.h
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xf86-video-s3/dist/src/s3_bios.c
cvs rdiff -u -r1.5 -r1.6 xsrc/external/mit/xf86-video-s3/dist/src/s3_driver.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xf86-video-amdgpu/include/config.h
diff -u xsrc/external/mit/xf86-video-amdgpu/include/config.h:1.9 xsrc/external/mit/xf86-video-amdgpu/include/config.h:1.10
--- xsrc/external/mit/xf86-video-amdgpu/include/config.h:1.9 Sat Jun 1 06:39:38 2019
+++ xsrc/external/mit/xf86-video-amdgpu/include/config.h Sun Feb 23 06:33:19 2020
@@ -88,7 +88,7 @@
#define PACKAGE_NAME "xf86-video-amdgpu"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "xf86-video-amdgpu 19.0.1"
+#define PACKAGE_STRING "xf86-video-amdgpu 19.1.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "xf86-video-amdgpu"
@@ -97,16 +97,16 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "19.0.1"
+#define PACKAGE_VERSION "19.1.0"
/* Major version of this package */
#define PACKAGE_VERSION_MAJOR 19
/* Minor version of this package */
-#define PACKAGE_VERSION_MINOR 0
+#define PACKAGE_VERSION_MINOR 1
/* Patch version of this package */
-#define PACKAGE_VERSION_PATCHLEVEL 1
+#define PACKAGE_VERSION_PATCHLEVEL 0
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
@@ -118,7 +118,7 @@
#define USE_SYS_ENDIAN_H 1
/* Version number of package */
-#define VERSION "19.0.1"
+#define VERSION "19.1.0"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
Index: xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c
diff -u xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c:1.8 xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c:1.9
--- xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c:1.8 Sat Jun 1 07:25:41 2019
+++ xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon_kms.c Sun Feb 23 06:33:19 2020
@@ -1917,19 +1917,15 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn
if (!pScrn->is_gpu) {
if (info->dri2.pKernelDRMVersion->version_minor >= 8) {
- Bool sw_cursor = xf86ReturnOptValBool(info->Options,
- OPTION_SW_CURSOR, FALSE);
-
info->allowPageFlip = xf86ReturnOptValBool(info->Options,
OPTION_PAGE_FLIP, TRUE);
- if (sw_cursor || info->shadow_primary) {
+ if (info->shadow_primary) {
xf86DrvMsg(pScrn->scrnIndex,
info->allowPageFlip ? X_WARNING : X_DEFAULT,
"KMS Pageflipping: disabled%s\n",
info->allowPageFlip ?
- (sw_cursor ? " because of SWcursor" :
- " because of ShadowPrimary") : "");
+ " because of ShadowPrimary" : "");
info->allowPageFlip = FALSE;
} else {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
@@ -2606,16 +2602,25 @@ CARD32 cleanup_black_fb(OsTimerPtr timer
}
static void
-pixmap_unref_fb(void *value, XID id, void *cdata)
+pixmap_unref_fb(PixmapPtr pixmap)
{
- PixmapPtr pixmap = value;
- RADEONEntPtr pRADEONEnt = cdata;
+ ScrnInfoPtr scrn = xf86ScreenToScrn(pixmap->drawable.pScreen);
struct drmmode_fb **fb_ptr = radeon_pixmap_get_fb_ptr(pixmap);
+ RADEONEntPtr pRADEONEnt = RADEONEntPriv(scrn);
if (fb_ptr)
drmmode_fb_reference(pRADEONEnt->fd, fb_ptr, NULL);
}
+static void
+client_pixmap_unref_fb(void *value, XID id, void *pScreen)
+{
+ PixmapPtr pixmap = value;
+
+ if (pixmap->drawable.pScreen == pScreen)
+ pixmap_unref_fb(pixmap);
+}
+
void RADEONLeaveVT_KMS(ScrnInfoPtr pScrn)
{
RADEONInfoPtr info = RADEONPTR(pScrn);
@@ -2633,6 +2638,12 @@ void RADEONLeaveVT_KMS(ScrnInfoPtr pScrn
unsigned w = 0, h = 0;
int i;
+ /* If we're called from CloseScreen, trying to clear the black
+ * scanout BO will likely crash and burn
+ */
+ if (!pScreen->GCperDepth[0])
+ goto hide_cursors;
+
/* Compute maximum scanout dimensions of active CRTCs */
for (i = 0; i < xf86_config->num_crtc; i++) {
crtc = xf86_config->crtc[i];
@@ -2671,11 +2682,9 @@ void RADEONLeaveVT_KMS(ScrnInfoPtr pScrn
if (pScrn->is_gpu) {
if (drmmode_crtc->scanout[0].pixmap)
- pixmap_unref_fb(drmmode_crtc->scanout[0].pixmap,
- None, pRADEONEnt);
+ pixmap_unref_fb(drmmode_crtc->scanout[0].pixmap);
if (drmmode_crtc->scanout[1].pixmap)
- pixmap_unref_fb(drmmode_crtc->scanout[1].pixmap,
- None, pRADEONEnt);
+ pixmap_unref_fb(drmmode_crtc->scanout[1].pixmap);
} else {
drmmode_crtc_scanout_free(crtc);
}
@@ -2695,18 +2704,20 @@ void RADEONLeaveVT_KMS(ScrnInfoPtr pScrn
(!clients[i] || clients[i]->clientState != ClientStateRunning))
continue;
- FindClientResourcesByType(clients[i], RT_PIXMAP, pixmap_unref_fb,
- pRADEONEnt);
+ FindClientResourcesByType(clients[i], RT_PIXMAP,
+ client_pixmap_unref_fb, pScreen);
}
- pixmap_unref_fb(pScreen->GetScreenPixmap(pScreen), None, pRADEONEnt);
+ pixmap_unref_fb(pScreen->GetScreenPixmap(pScreen));
} else {
memset(info->front_buffer->bo.radeon->ptr, 0,
pScrn->displayWidth * info->pixel_bytes * pScrn->virtualY);
}
- TimerSet(NULL, 0, 1000, cleanup_black_fb, pScreen);
+ if (pScreen->GCperDepth[0])
+ TimerSet(NULL, 0, 1000, cleanup_black_fb, pScreen);
+ hide_cursors:
xf86_hide_cursors (pScrn);
radeon_drop_drm_master(pScrn);
Index: xsrc/external/mit/xf86-video-ati-kms/include/config.h
diff -u xsrc/external/mit/xf86-video-ati-kms/include/config.h:1.10 xsrc/external/mit/xf86-video-ati-kms/include/config.h:1.11
--- xsrc/external/mit/xf86-video-ati-kms/include/config.h:1.10 Sat Jun 1 07:25:41 2019
+++ xsrc/external/mit/xf86-video-ati-kms/include/config.h Sun Feb 23 06:33:19 2020
@@ -85,7 +85,7 @@
#define PACKAGE_NAME "xf86-video-ati"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "xf86-video-ati 19.0.1"
+#define PACKAGE_STRING "xf86-video-ati 19.1.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "xf86-video-ati"
@@ -94,16 +94,16 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "19.0.1"
+#define PACKAGE_VERSION "19.1.0"
/* Major version of this package */
#define PACKAGE_VERSION_MAJOR 19
/* Minor version of this package */
-#define PACKAGE_VERSION_MINOR 0
+#define PACKAGE_VERSION_MINOR 1
/* Patch version of this package */
-#define PACKAGE_VERSION_PATCHLEVEL 1
+#define PACKAGE_VERSION_PATCHLEVEL 0
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
@@ -115,7 +115,7 @@
#define USE_SYS_ENDIAN_H 1
/* Version number of package */
-#define VERSION "19.0.1"
+#define VERSION "19.1.0"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
Index: xsrc/external/mit/xf86-video-geode/dist/src/gx_driver.c
diff -u xsrc/external/mit/xf86-video-geode/dist/src/gx_driver.c:1.5 xsrc/external/mit/xf86-video-geode/dist/src/gx_driver.c:1.6
--- xsrc/external/mit/xf86-video-geode/dist/src/gx_driver.c:1.5 Mon Dec 31 13:02:41 2018
+++ xsrc/external/mit/xf86-video-geode/dist/src/gx_driver.c Sun Feb 23 06:33:19 2020
@@ -1428,7 +1428,7 @@ GXScreenInit(SCREEN_INIT_ARGS_DECL)
/* Set up RandR */
-#if 0
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 24
xf86DisableRandR(); /* We provide our own RandR goodness */
#endif
Index: xsrc/external/mit/xf86-video-s3/dist/compile
diff -u xsrc/external/mit/xf86-video-s3/dist/compile:1.3 xsrc/external/mit/xf86-video-s3/dist/compile:1.4
--- xsrc/external/mit/xf86-video-s3/dist/compile:1.3 Mon Jun 3 08:50:48 2013
+++ xsrc/external/mit/xf86-video-s3/dist/compile Sun Feb 23 06:33:19 2020
@@ -1,10 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-01-04.17; # UTC
+scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <[email protected]>.
#
# This program is free software; you can redistribute it and/or modify
@@ -79,6 +78,53 @@ func_file_conv ()
esac
}
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
@@ -109,43 +155,34 @@ func_cl_wrapper ()
;;
esac
;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
-l*)
- lib=${1#-l}
- found=no
- save_IFS=$IFS
- IFS=';'
- for dir in $lib_path $LIB
- do
- IFS=$save_IFS
- if $shared && test -f "$dir/$lib.dll.lib"; then
- found=yes
- set x "$@" "$dir/$lib.dll.lib"
- break
- fi
- if test -f "$dir/$lib.lib"; then
- found=yes
- set x "$@" "$dir/$lib.lib"
- break
- fi
- done
- IFS=$save_IFS
-
- test "$found" != yes && set x "$@" "$lib.lib"
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
shift
;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
-L*)
- func_file_conv "${1#-L}"
- if test -z "$lib_path"; then
- lib_path=$file
- else
- lib_path="$lib_path;$file"
- fi
- linker_opts="$linker_opts -LIBPATH:$file"
+ func_cl_dashL "${1#-L}"
;;
-static)
shared=false
Index: xsrc/external/mit/xf86-video-s3/dist/src/s3.h
diff -u xsrc/external/mit/xf86-video-s3/dist/src/s3.h:1.7 xsrc/external/mit/xf86-video-s3/dist/src/s3.h:1.8
--- xsrc/external/mit/xf86-video-s3/dist/src/s3.h:1.7 Mon Jun 3 08:50:48 2013
+++ xsrc/external/mit/xf86-video-s3/dist/src/s3.h Sun Feb 23 06:33:20 2020
@@ -34,7 +34,6 @@
#include "xf86.h"
#include "xf86Pci.h"
-#include "xf86PciInfo.h"
#include "xf86RamDac.h"
#ifdef HAVE_XAA_H
#include "xaa.h"
@@ -50,6 +49,24 @@
#include "compat-api.h"
+
+#define PCI_VENDOR_S3 0x5333
+
+#define PCI_CHIP_PLATO 0x0551
+#define PCI_CHIP_TRIO 0x8811
+#define PCI_CHIP_AURORA64VP 0x8812
+#define PCI_CHIP_TRIO64UVP 0x8814
+#define PCI_CHIP_868 0x8880
+#define PCI_CHIP_928 0x88B0
+#define PCI_CHIP_864_0 0x88C0
+#define PCI_CHIP_864_1 0x88C1
+#define PCI_CHIP_964_0 0x88D0
+#define PCI_CHIP_964_1 0x88D1
+#define PCI_CHIP_968 0x88F0
+#define PCI_CHIP_TRIO64V2_DXGX 0x8901
+#define PCI_CHIP_PLATO_PX 0x8902
+
+
typedef struct _S3RegRec {
unsigned char cr31, cr32, cr33, cr34, cr3a, cr3b, cr3c;
unsigned char cr3b2, cr3c2;
@@ -261,9 +278,6 @@ Bool S3GENDACProbe(ScrnInfoPtr pScrn);
#define GENDAC_RAMDAC 0x0708
#define SDAC_RAMDAC 0x0716
-#define BIOS_BSIZE 1024
-#define BIOS_BASE 0xc0000
-
/*
* Chip...Sets...
*/
Index: xsrc/external/mit/xf86-video-s3/dist/src/s3_bios.c
diff -u xsrc/external/mit/xf86-video-s3/dist/src/s3_bios.c:1.3 xsrc/external/mit/xf86-video-s3/dist/src/s3_bios.c:1.4
--- xsrc/external/mit/xf86-video-s3/dist/src/s3_bios.c:1.3 Mon Jun 3 08:50:48 2013
+++ xsrc/external/mit/xf86-video-s3/dist/src/s3_bios.c Sun Feb 23 06:33:20 2020
@@ -29,75 +29,9 @@
#include "config.h"
#endif
-#include "xf86.h"
-#include "xf86_OSproc.h"
-#include "compiler.h"
-
#include "s3.h"
-
-static unsigned char *find_bios_string(ScrnInfoPtr pScrn, int BIOSbase,
- char *match1, char *match2)
-{
- static unsigned char *bios;
- static int init=0;
- int i, j, l1, l2, ret;
-
- S3Ptr pS3 = S3PTR(pScrn);
-
- bios = malloc(BIOS_BSIZE);
- if (bios = NULL)
- return NULL;
-
- if (!init) {
- init = 1;
-#ifndef XSERVER_LIBPCIACCESS
- if (xf86ReadDomainMemory(pS3->PciTag, BIOSbase, BIOS_BSIZE, bios) != BIOS_BSIZE)
- goto error;
-#else
- ret = pci_device_read_rom(pS3->PciInfo, bios);
- if (ret) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "libpciaccess failed to read video BIOS: %s\n",
- strerror(-ret));
- goto error;
- }
-#endif
- if ((bios[0] != 0x55) || (bios[1] != 0xaa))
- goto error;
- }
- if (match1 == NULL)
- goto error;
-
- l1 = strlen(match1);
- if (match2 != NULL)
- l2 = strlen(match2);
- else
- l2 = 0;
-
- for (i=0; i<BIOS_BSIZE; i++)
- if (bios[i] == match1[0] && !memcmp(&bios[i], match1, l1)) {
- if (match2 == NULL)
- return &bios[i+l1];
- else
- for(j=i+l1; (j<BIOS_BSIZE-l2) && bios[j]; j++)
- if (bios[j] == match2[0] &&
- !memcmp(&bios[j], match2, l2))
- return &bios[j+l2];
- }
-error:
- free(bios);
- return NULL;
-}
-
-
int S3GetRefClock(ScrnInfoPtr pScrn)
{
- int RefClock = 16000; /* default */
-
- if (find_bios_string(pScrn, BIOS_BASE, "Number Nine Visual Technology",
- "Motion 771") != NULL)
- RefClock = 16000;
-
- return RefClock;
+ return 16000;
}
Index: xsrc/external/mit/xf86-video-s3/dist/src/s3_driver.c
diff -u xsrc/external/mit/xf86-video-s3/dist/src/s3_driver.c:1.5 xsrc/external/mit/xf86-video-s3/dist/src/s3_driver.c:1.6
--- xsrc/external/mit/xf86-video-s3/dist/src/s3_driver.c:1.5 Sat Aug 20 00:46:36 2016
+++ xsrc/external/mit/xf86-video-s3/dist/src/s3_driver.c Sun Feb 23 06:33:20 2020
@@ -42,7 +42,6 @@
#include "xf86.h"
#include "xf86_OSproc.h"
#include "xf86Pci.h"
-#include "xf86PciInfo.h"
#include "xf86fbman.h"
#include "xf86cmap.h"
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
@@ -795,7 +794,7 @@ static Bool S3ScreenInit(SCREEN_INIT_ARG
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
S3Ptr pS3 = S3PTR(pScrn);
BoxRec ScreenArea;
- int width, height, displayWidth;
+ int width, height;
if (pS3->rotate) {
height = pScrn->virtualX;
@@ -843,10 +842,8 @@ static Bool S3ScreenInit(SCREEN_INIT_ARG
if(pS3->shadowFB) {
pS3->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
pS3->ShadowPtr = malloc(pS3->ShadowPitch * height);
- displayWidth = pS3->ShadowPitch / (pScrn->bitsPerPixel >> 3);
} else {
pS3->ShadowPtr = NULL;
- displayWidth = pScrn->displayWidth;
}
if (!fbScreenInit(pScreen, (pS3->shadowFB ? pS3->ShadowPtr : pS3->FBBase),