Skip to content
Commits on Source (37)
commit 924c310dfecbfb916f0e81c03f1142a401bed056
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Fri Dec 7 16:43:46 2018 -0800
Version bumped to Version 2.0.0
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit ada903eea2e138643faa721f37737ed885363bf7
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Fri Dec 7 16:21:44 2018 -0800
Version bumped to Version 1.6.901
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit 54f0f0723d4291a23a2f1c10fcf33560f9a4340a
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Thu Dec 6 20:49:31 2018 -0800
Remove last remnants of old Matrox HAL
Apparently, commit 94bbeb132c7eda912d1b402a1a91ca7cbbf5e6a1
missed removing a few more files related to old Matrox HAL.
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit b293b0956d518b2cc3833d0d2d846301fe35c0a0
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Thu Nov 29 10:41:23 2018 -0800
Version bumped to Version 1.6.900
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit c5d295f06c83ba69811c17880e033cbd0fdb52b1
Author: Henry Zhao <henry.zhao@oracle.com>
Date: Mon Nov 26 13:15:24 2018 -0800
Write 8 bits instead of 32 to MGAREG_CACHEFLUSH
Fixes misaligned address crash when EXA is enabled on Solaris SPARC
(Oracle Bug id 22993744)
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 11abbd45e0c93b672a7e8d5730560a6b351c7a9b
Author: Matthieu Herrb <matthieu@herrb.eu>
Date: Mon Nov 26 21:12:05 2018 +0100
Use fabs() to compute absolute value of floating point number.
Fixes a warning from clang and looks like it was a real bug.
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 4ce40b932cdced590af1c32f6f491f63e9a247dd
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Mon Nov 26 11:03:39 2018 -0800
Suppression of a compilation error when XAA is not in use
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit 4017c6e91f8938f1f1617e53e30ee1d3d10d490c
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Mon Nov 26 11:02:30 2018 -0800
Convert most HAVE_XAA_H conditional compilation labels to USE_XAA
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit c5922dcc3ff26c9b1291e90ecedee35f97bc51c8
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Mon Nov 26 11:01:33 2018 -0800
Eliminate set but unused variables
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit 8db8f6b3f323a9d9cd934172c9f4d4a93a6b7394
Author: Kevin Brace <kevinbrace@gmx.com>
Date: Mon Nov 26 11:00:32 2018 -0800
Eliminate unused variables
Care had to be taken to properly handle XAA usage situation
Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
commit 94c70f888b3e3b1e4c9f324f188279f276c9cbbd
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Nov 25 14:31:30 2018 -0800
Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit a939aa56b3af4418d0c026a3775fde7288b0cca7
Author: Mikulas Patocka <mikulas@twibright.com>
Date: Tue Nov 20 08:41:14 2018 -0800
mga_drv: fix image corruption due to memcpy reordering
The memcpy specification doesn't specify how the destination is written -
and on glibc 2.19 memcpy is doing some bytewise writes with the rep stosb
instruction. These bytewise writes confuse the hardware (because it
expects 32-bit writes) and result in image corruption.
This patch replaces memcpy with explicit writes, so that the sequential
write order and 32-bit write size is guaranteed. We use the "volatile"
attribute to make sure that compiler optimizations won't cause write
reordering. When reading the memory, we use a structure with "packed"
attribute to avoid unaligned traps on RISC machines.
Tested-by: Kevin Brace <kevinbrace@gmx.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
commit 0f4883f0b8ebfd105d5cee93841bc69f0f2b60b7
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Nov 18 13:25:33 2018 -0800
Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 34f37fe119f07e1e7b79964de08ac601a0753a7f
Author: Nicolas Kaiser <nikai@nikai.net>
Date: Sun May 29 11:36:11 2011 +0200
fix typo in MGADRIMoveBuffersXAA()
Fix typo in MGADRIMoveBuffersXAA().
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
commit 31544d805f99da54d5d3c658ccc137813dbde52b
Author: Mikulas Patocka <mikulas@twibright.com>
Date: Tue Feb 13 01:43:13 2018 +0100
mga_drv: use exa by default
If the Xserver doesn't support XAA, we must turn EXA on by default -
otherwise we end up with no acceleration at all.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
commit 97c801e49251ffedf0eebd0563c737318433f114
Author: Mikulas Patocka <mikulas@twibright.com>
Date: Tue Feb 13 01:42:41 2018 +0100
mga_drv: fix warning
Fix warnings in the MGA driver. There's no functional change.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
commit 767c19e7142da1060586b1ff2b5e7253b6d6276b
Author: Mikulas Patocka <mikulas@twibright.com>
Date: Tue Feb 13 01:42:27 2018 +0100
mga_drv: fix structure definition
Fix missing entry in structure definition.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
commit b9aab0dcb171ab936a8581d8287aac3a90652a09
Author: Mikulas Patocka <mikulas@twibright.com>
Date: Tue Feb 13 01:42:08 2018 +0100
mga_drv: fix a typo
Fix a typo that causes dynamic symbol lookup failure and xserver crash.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
commit 2998868964b2f3a56b6759fd8dc4462d812dbe1a
Author: Emil Velikov <emil.velikov@collabora.com>
Date: Mon Jul 17 11:05:57 2017 +0100
xf86-video-mga: remove the GlxSetVisualConfigs stub and friends
The function was an empty since 2008 at least. Remove it alongside the
unused GLX visuals code.
With this all the GL/GLX dependencies in the driver are gone.
Cc: Mathieu Larouche <mathieu.larouche@matrox.com>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
---
There's a GLX reference in mga_ucode.h - a file which was seemingly
never used since day 1. I'm not going to bother with that, since I've
taken enough of a diversion already ;-)
commit 42fabf69c33d0e803eb661cc06217611bc3c9048
Author: Mathieu Larouche <mathieu.larouche@matrox.com>
Date: Tue Jun 13 13:43:45 2017 -0400
xf86-video-mga: Fix to always set HiPri for G200e4 V2
- Changed the HiPri value for G200e4 to always be 0.
- Added Bandwith limitation to block resolution above 1920x1200x60Hz
- (V2): Pulled out ulMemoryBandwidth of condition so it's always initialized
as reviewed by : Stefan Dirsch <sndirsch@suse.de>
Reviewed-by: Samer El-Haj-Mahmoud <smahmoud@lenovo.com>
commit e55abc95c2b7f7cb8de73e1e21688fb5b5c08d5c
Author: Mathieu Larouche <mathieu.larouche@matrox.com>
Date: Tue Feb 7 11:12:14 2017 -0500
xf86-video-mga: Add support for a new G200eH3 device
- Added support for the new deviceID for G200eH3
- Added PLL algorithm for the G200eH3
- Removed the bandwidth limitation for the G200eH3
Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
commit 2ccc50072ccb70411e5e32644e74ef7c6b33f628
Author: Mihail Konev <k.mvc@ya.ru>
Date: Thu Jan 26 14:00:22 2017 +1000
autogen: add default patch prefix
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
commit b9f57d1717fe9035d354b47e877ae110546d6f28
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date: Mon Mar 9 12:00:52 2015 +0000
autogen.sh: use quoted string variables
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 0b8e81d2a435e190e1a1b81e776423d255b4cb9a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 24 10:32:07 2017 +1000
autogen.sh: use exec instead of waiting for configure to finish
Syncs the invocation of configure with the one from the server.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
commit 7407e79cd62f7209a5fe0265882d0ee3d0007196
Author: Colin Walters <walters@verbum.org>
Date: Wed Jan 4 17:37:06 2012 -0500
autogen.sh: Implement GNOME Build API
http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Adam Jackson <ajax@redhat.com>
commit 9ae2ad4ee9b0a9ad64fec0f88b68886d7b0b8663
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Jan 26 11:18:06 2017 +1000
configure: Drop AM_MAINTAINER_MODE
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 979e0e73eb3424b6a97746e29c8b4a5b7e86196e
Author: Matt Turner <mattst88@gmail.com>
Date: Tue Jan 17 14:40:48 2017 -0800
......
......@@ -21,7 +21,7 @@
SUBDIRS = src man util
MAINTAINERCLEANFILES = ChangeLog INSTALL
EXTRA_DIST = README_HALLIB mga_PInS.txt
EXTRA_DIST = mga_PInS.txt README.md
.PHONY: ChangeLog INSTALL
......
xf86-video-mga - Matrox video driver for the Xorg X server
----------------------------------------------------------
All questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
Please submit bug reports to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
https://lists.x.org/mailman/listinfo/xorg
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/driver/xf86-video-mga
https://gitlab.freedesktop.org/xorg/driver/xf86-video-mga
http://cgit.freedesktop.org/xorg/driver/xf86-video-mga
Please submit bug reports and requests to merge patches there.
For patch submission instructions, see:
http://www.x.org/wiki/Development/Documentation/SubmittingPatches
For more information on the git code manager, see:
http://wiki.x.org/wiki/GitPage
https://www.x.org/wiki/Development/Documentation/SubmittingPatches
HAL Documentation
This documentation provides preliminary explaination of the HAL library, a
more detailed version of this document is in the process of being written
and will be released with future driver builds.
------------------------------------------------------------
MGAOpenLibrary
Description: Link Client functions with HAL Librery
Input:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
LPBARDHANDLElpClient: Pointer to the client stucture
ulClientSize: Size of the client structure
Error:
return 0 on success
-------------------------------------------------------------
MGAGetHardwareInfo
Description:
Fills MGAWINFO structure.
struct {
ULONG UlCapsFirstOutput;
ULONG ulCapsSecondOutput;
ULONG ulVideoMemory;
} FAR *LPMGAHWINFO;
#define MGAHWINFOCAPS_CRTC1_DIGITAL (1L << 1)
#define MGAHWINFOCAPS_CRTC1_TV (1L << 2)
#define MGAHWINFOCAPS_CRTC2_ANALOG (1L << 3)
#define MGAHWINFOCAPS_CRTC2_DIGITAL (1L << 4)
#define MGAHWINFOCAPS_CRTC2_TV (1L << 5)
#define MGAHWINFOCAPS_OUTPUT_VGA (1L << 6)
#define MGAHWINFOCAPS_CRTC2 (MGAHWINFOCAPS_CRTC2_ANALOG | MGAHWINFOCAPS_CRTC2_DIGITAL | MGAHWINFOCAPS_CRTC2_TV)
#define MGAHWINFOCAPS_OUTPUT_ANALOG (MGAHWINFOCAPS_CRTC1_ANALOG | MGAHWINFOCAPS_CRTC2_ANALOG)
#define MGAHWINFOCAPS_OUTPUT_DIGITAL (MGAHWINFOCAPS_CRTC1_DIGITAL | MGAHWINFOCAPS_CRTC2_DIGITAL)
#define MGAHWINFOCAPS_OUTPUT_TV (MGAHWINFOCAPS_CRTC1_TV | MGAHWINFOCAPS_CRTC2_TV)
example:
if (pMga->pMgaHwInfo->ulCapsSecondOutput & MGAHWINFOCAPS_OUTPUT_TV )
{
ErrorF("TV detected\n");
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "TV detected\n ");
}
if (pMga->pMgaHwInfo->ulCapsSecondOutput & MGAHWINFOCAPS_OUTPUT_DIGITAL)
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Digital Screen detected\n ");
}
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
LPMGAHWINFO pMgaHwInfo: Handle to the board structure containing all
the information about the specific Board.
Error:
Returns 0 on success
------------------------------------------------------------
MGAValidateMode
Description:
Validates the mode given by client.
Here are the different options for pMgaModeInfo->flOutput:
MGAMODEINFO_FORCE_PITCH
MGAMODEINFO_FORCE_DISPLAYORG
MGAMODEINFO_SECOND_CRTC
MGAMODEINFO_ANALOG1
MGAMODEINFO_ANALOG2
MGAMODEINFO_DIGITAL1
MGAMODEINFO_DIGITAL2
MGAMODEINFO_TV
These options can be combined together to set different combinations.
Example:
/*The second crtc outputs to a digital screen*/
pMgaModeInfo->flOutput= MGAMODEINFO_DIGITAL2 | MGAMODEINFO_SECOND_CRTC
| MGAMODEINFO_FORCE_PITCH | MGAMODEINFO_FORCE_DISPLAYORG;
- or -
/*The second crtc outputs to an analog screen*/
pMgaModeInfo-> flOutput = MGAMODEINFO_ANALOG2| MGAMODEINFO_SECOND_CRTC
| MGAMODEINFO_FORCE_PITCH | MGAMODEINFO_FORCE_DISPLAYORG;
- or -
/*The second crtc outputs to a tv*/
pMga->pMgaModeInfo->flOutput = MGAMODEINFO_TV | MGAMODEINFO_SECOND_CRTC | MGAMODEINFO_FORCE_PITCH | MGAMODEINFO_FORCE_DISPLAYORG;
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
LPMGAMODEINFO pMgaModeInfo: Pointer to structure containing information about a specific display mode. (You need to fill the structure except the video parameters part which will be filled by the function).
Error:
Returns 0 on success
-------------------------------------------------------------
MGASetMode
Description:
Initializes the board.
Here are the different options for pMgaModeInfo->flOutput:
MGAMODEINFO_FORCE_PITCH
MGAMODEINFO_FORCE_DISPLAYORG
MGAMODEINFO_SECOND_CRTC
MGAMODEINFO_ANALOG1
MGAMODEINFO_ANALOG2
MGAMODEINFO_DIGITAL1
MGAMODEINFO_DIGITAL2
MGAMODEINFO_TV
These options can be combined together to set different combinations.
Example:
/*The second crtc outputs to a digital screen*/
pMgaModeInfo->flOutput= MGAMODEINFO_DIGITAL2 | MGAMODEINFO_SECOND_CRTC
| MGAMODEINFO_FORCE_PITCH | MGAMODEINFO_FORCE_DISPLAYORG;
- or -
/*The second crtc outputs to an analog screen*/
pMgaModeInfo-> flOutput = MGAMODEINFO_ANALOG2| MGAMODEINFO_SECOND_CRTC
| MGAMODEINFO_FORCE_PITCH | MGAMODEINFO_FORCE_DISPLAYORG;
- or -
/*The second crtc outputs to a tv*/
pMga->pMgaModeInfo->flOutput = MGAMODEINFO_TV | MGAMODEINFO_SECOND_CRTC | MGAMODEINFO_FORCE_PITCH | MGAMODEINFO_FORCE_DISPLAYORG;
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
LPMGAMODEINFO pMgaModeInfo: Pointer to structure containing information about a specific display mode. (You need to fill the structure except the video parameters part which will be filled by the function).
Error:
Returns 0 on success
------------------------------------------------------------
MGASetVgaMode
Description:
Switchs the VGA mode
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
Error:
Returns 0 on success
------------------------------------------------------------
MGARestoreVgaState
Description:
Restores the VGA State
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
Error:
Returns 0 on success
------------------------------------------------------------
MGASaveVgaState
Description:
Saves the VGA state
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
Error:
Returns 0 on success
------------------------------------------------------------
MGACloseLibrary
Description:
Closes the library
Inputs:
LPBOARDHANDLE pBoard: Handle to the board structure containing all the information about the board.
Error:
Returns 0 on success
#! /bin/sh
srcdir=`dirname $0`
srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
cd "$srcdir"
autoreconf -v --install || exit 1
cd $ORIGDIR || exit $?
cd "$ORIGDIR" || exit $?
$srcdir/configure --enable-maintainer-mode "$@"
git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
git config --local format.subjectPrefix "PATCH xf86-video-mga"
if test -z "$NOCONFIGURE"; then
exec "$srcdir"/configure "$@"
fi
......@@ -23,8 +23,8 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-mga],
[1.6.5],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[2.0.0],
[https://gitlab.freedesktop.org/xorg/driver/xf86-video-mga/issues],
[xf86-video-mga])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
......@@ -39,7 +39,6 @@ AC_CONFIG_AUX_DIR(.)
# Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
# Initialize libtool
AC_DISABLE_STATIC
......
xserver-xorg-video-mga (1:2.0.0-1) unstable; urgency=medium
* New upstream release.
* signing-key.asc: Add PGP key from Kevin Brace.
* Update debian/watch to support >= 2.0.0 releases.
* Update Vcs-* URLs to point to salsa.debian.org.
* Build-depend on x11proto-dev.
* Drop obsolete recommends on xserver-xorg-video-modesetting.
* Bump debhelper compat to 11.
* Set source format to 1.0.
* Bump standards version to 4.2.1.
-- Andreas Boll <aboll@debian.org> Fri, 14 Dec 2018 12:29:04 +0100
xserver-xorg-video-mga (1:1.6.5-1) unstable; urgency=medium
* Team upload.
......
......@@ -5,26 +5,18 @@ Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders:
Tormod Volden <debian.tormod@gmail.com>
Build-Depends:
debhelper (>= 9),
dh-autoreconf,
debhelper (>= 11),
pkg-config,
xserver-xorg-dev (>= 2:1.9.4),
x11proto-gl-dev,
x11proto-video-dev,
x11proto-dev,
libgl1-mesa-dev | libgl-dev,
x11proto-core-dev,
x11proto-fonts-dev,
x11proto-randr-dev,
x11proto-render-dev,
x11proto-xext-dev,
libdrm-dev (>> 2.0) [!hurd-i386],
x11proto-xf86dri-dev,
quilt,
xutils-dev (>= 1:7.5+4)
Standards-Version: 3.9.8
Standards-Version: 4.2.1
Homepage: https://www.x.org
Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-mga.git
Vcs-Browser: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-mga.git
Vcs-Git: https://salsa.debian.org/xorg-team/driver/xserver-xorg-video-mga.git
Vcs-Browser: https://salsa.debian.org/xorg-team/driver/xserver-xorg-video-mga
Package: xserver-xorg-video-mga
Architecture: any
......@@ -32,8 +24,6 @@ Depends:
${shlibs:Depends},
${misc:Depends},
${xviddriver:Depends},
Recommends:
xserver-xorg-video-modesetting,
Provides:
${xviddriver:Provides}
Suggests:
......
......@@ -2,8 +2,7 @@
override_dh_auto_configure:
dh_auto_configure -- \
--libdir=\$${exec_prefix}/lib \
--disable-silent-rules
--libdir=\$${exec_prefix}/lib
# Install in debian/tmp to retain control through dh_install:
override_dh_auto_install:
......@@ -19,4 +18,4 @@ override_dh_shlibdeps:
dh_shlibdeps -- --warnings=6
%:
dh $@ --with quilt,autoreconf,xsf --builddirectory=build/
dh $@ --with quilt,xsf --builddirectory=build/
......@@ -100,3 +100,32 @@ zcY6HF8gDQ9tQqWlYxqmG1JMz70Ypv04gIDN83QWEZ6n1p/stMjS121EMPVle500
+v0snqqnIoZLjsQ=
=7XLO
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFauvlQBCACpsdM1X3cxMypf3/LFnTYcqI78H/ENvl/OkdLgTAPSmUbPFtQ0
VvAjJUEh1QoKmOhfpJow2pjBZSs8CJIyOxauYlYOhvH3QAkFM2RXse6vbm/ej2zn
ufZT2OgKuPC5cKIOMR55g08NTg0K26FF4OJuVc9DeLGSsOMHeR/qwbSQJBGEge6j
mjVmhsPr16eqw396xTL31oU0MSP607iEpvmlT6dN3eXOvMpzcEj07EhzaZLKf0g0
rAHMAsithi5N+axMmTq7GudwEo2WwaRTiCTJUWJ7sxO4Ix41G+ccPMIiGwWWNJ9T
KEy77Kpf3CY2oNdZNnu+axT8yq0Vi6uXtOWlABEBAAG0IEtldmluIEJyYWNlIDxr
ZXZpbmJyYWNlQGdteC5jb20+iQE4BBMBAgAiBQJWrr5UAhsDBgsJCAcDAgYVCAIJ
CgsEFgIDAQIeAQIXgAAKCRDJInhBeL/9sDcyCACYUMmaI0wxbyiuiNjl9m7tiNHO
H4fbITrqBf3Kmpp7Dv0eQ/k+ux6d0t7R1ajbcat5WO28evhvuVnfZB6dDCFOmWqx
9mtmNeZJknQAHiYhNrGWb0g1GQyYN/+RACT3CYv/vqzKJnd39RZcaebBtajjzteh
MYVU/AI62rcYAgOpc68KO+r9WJCj8df2waXXTLAAo6jZbaW9jp0G/5Hzs+IFPdG+
MzKgw3ttBCFkTIMGec0Ds0NILoLs6+3+D7pbZSiNf423BB0LgLRMqgd/CxUN/hRB
XNQx3ntVywelSFPCHt64+Ty4GQ3ch6mO98QLO/bb04Byjo7WndSXeAdi77q3uQEN
BFauvlQBCADM2i7oCJr6RJ5M9k5rkmz/J78VXfwm8T0XdW5KXUTQIM6V5gcPf/tp
G6QwpYBjTVIbVvJoNlu8sP7acVleRZClZTNF1qtK84d4+g2EQxMHvx/MePDxmLCQ
y70+7kjw3R0latruTElnPN2e6TbVoGWQB/9kDquSyfmCVwwMiw3PP0nHpXZzJI28
hnQu7m7Z1e6ihd2N5IC7t3w7EZnGYNsQV00yhfxD6LxMq2JppzgfIBCO1pMAn1da
2EtG2KAVa5CVKbJRz7ex+0srX1tYgAsu+01JF1KM+yR/GNJPV9IZZUSjVklW8N5m
VqGxX7/Ywyau+KfaPRsNbk+O46D2F76lABEBAAGJAR8EGAECAAkFAlauvlQCGwwA
CgkQySJ4QXi//bDwBAf/S/jp5fMx+hlvzZ4gdbBRY6qtfh2BNphsGEv7QTAdsKrN
L5i+CoAlweSPmG23/JRFgUUbSpDW8pbJ9lk/Nk8r9l+o3yLfJ0GDfrSWV/b4RseI
zGpxYis7rW124R+PrTZqDodvzKLnR75uZKPpnp5uJXrSSQC/8hJYq3KNRkjFqjEc
TLAAIHRhWJ7+1YQe9hzJQhUEaaPfKTPmtErNKqLv4SGdbDZImnqZiwL+mmR1XsfJ
d48Wis410CnRbb2O4q3RhuTNSYWjatrv7Oi8bJONAMCEwuOKH+GinMr6zui4U8rx
0CXyaCO/nSalaCLyMrk7lo6BOk2KGgkCbvRG4yNBMQ==
=jPLP
-----END PGP PUBLIC KEY BLOCK-----
#git=git://anongit.freedesktop.org/xorg/driver/xf86-video-mga
version=3
opts="pgpsigurlmangle=s/$/.sig/,dversionmangle=s/\.dfsg$//" \
https://xorg.freedesktop.org/releases/individual/driver/ xf86-video-mga-(1\.[^9].*)\.tar\.gz debian debian/xsfbs/repack.sh
https://xorg.freedesktop.org/releases/individual/driver/ xf86-video-mga-(.*)\.tar\.gz debian debian/xsfbs/repack.sh
......@@ -30,8 +30,6 @@ mga_drv_ladir = @moduledir@/drivers
mga_drv_la_LIBADD = $(noinst_LTLIBRARIES)
mga_drv_la_SOURCES = \
binding.h \
client.h \
mga_bios.c \
mga_common.h \
mga_dac3026.c \
......@@ -41,7 +39,6 @@ mga_drv_la_SOURCES = \
mga_driver.c \
mga_g450pll.c \
mga.h \
mga_halmod.c \
mga_hwcurs.c \
mga_macros.h \
mga_maven.h \
......
/**************************************************************************************
@doc MGA MGA_STRUCT
@module MGA Structures | Structure of The MGA Layer
@normal Copyright © 1997, Matrox Graphics Inc.
All Rights Reserved.
@head3 MGA Structures |
@index struct | MGA_STRUCT
@end
***************************************************************************************/
#ifndef _BINDING
#define _BINDING
#ifndef _INTERNALBINDING
#define BINDING_NOERROR 0x00000000
#define BINDING_ERROR 0x90000000
#define FAR
#define DECL
typedef void VOID;
typedef void FAR *LPVOID;
typedef void FAR *LPBOARDHANDLE;
typedef long LONG;
typedef unsigned long ULONG;
typedef unsigned long FLONG;
typedef unsigned long FAR *LPULONG;
typedef char CHAR;
typedef unsigned char UCHAR;
typedef unsigned char FAR*LPUCHAR;
#endif /* _INTERNALBINDING */
/***************************************************************************************************
MGAHWINFO STRUCTURE
***************************************************************************************************
@struct MGAHWINFO | Public MGA Board Information
@field OUT ULONG | ulCapsFirstOutput | Capabilities of firts output
@flag Bit 0 | Analog output supported on primary CRTC
@flag Bit 1 | Digital output supported on primary CRTC
@flag Bit 2 | TV output supported on primary CRTC
@flag Bit 3 | Analog output supported on second CRTC
@flag Bit 4 | Digital output supported on second CRTC
@flag Bit 5 | TV output supported on second CRTC
@flag Bit 6 | VGA output supported
@field OUT ULONG | ulCapsSecondOutput | Capabilities of second output
@flag Bit 0 | Analog output supported on primary CRTC
@flag Bit 1 | Digital output supported on primary CRTC
@flag Bit 2 | TV output supported on primary CRTC
@flag Bit 3 | Analog output supported on second CRTC
@flag Bit 4 | Digital output supported on second CRTC
@flag Bit 5 | TV output supported on second CRTC
@flag Bit 6 | VGA output supported
@field OUT ULONG | ulVideoMemory | Total number of video memory in bytes
@end
**************************************************************************************************/
typedef struct TAGMGAHWINFO {
ULONG ulCapsFirstOutput;
ULONG ulCapsSecondOutput;
ULONG ulVideoMemory;
} MGAHWINFO, FAR *LPMGAHWINFO;
/***************************************************************************************************
MGAMODEINFO STRUCTURE
***************************************************************************************************
@struct MGAMODEINFO | Mode Information
@field IN FLONG | flOutput | Where we want to apply this parameters
@flag Bit 0 | Use second CRTC
@flag Bit 1 | Use primary analog output
@flag Bit 2 | Use secondary analog output
@flag Bit 3 | Use primary digital output
@flag Bit 4 | Use secondary digital output
@flag Bit 5 | Force a particular frame buffer pitch
@flag Bit 6 | Force a particular display origin
@flag Bit 7-31 | Reserved
@field IN ULONG | ulDispWidth | Display Width in pixels
@field IN ULONG | ulDispHeight | Display Height in pixels
@field IN ULONG | ulDeskWidth | Desktop Width in pixels
@field IN ULONG | ulDeskHeight | Desktop Height in pixels
@field IN OUT ULONG | ulFBPitch | Frame Buffer Pitch in pixel
@field IN ULONG | ulBpp | Bits Per Pixels and input format
@flag lower 16 bit | Bits per pixel
<nl><tab> 8, 15, 16, 24 or 32
@flag upper 16 bit | Input format
<nl><tab> 0 RGB
<nl><tab> 1 RGBA
<nl><tab> 2 YcbCr 4:2:0 3 Planes
<nl><tab> 3 YcbCr 4:2:0 4 Planes
<nl><tab> 4 YcbCr 4:2:2-UYVY
<nl><tab> 5 YcbCr 4:2:2-YUY2
<nl><tab> 6-10 none interleave mode
<nl><tab> 6 NI RGBA
<nl><tab> 7 NI YcbCr 4:2:0 3 Planes
<nl><tab> 8 NI YcbCr 4:2:0 4 Planes
<nl><tab> 9 NI YcbCr 4:2:2-UYVY
<nl><tab> 10 NI YcbCr 4:2:2-YUY2
@field IN ULONG | ulZoom | Zoom factor
@flag 1x (1), 2x (2) or 4x (4)|
@field IN OUT FLONG | flSignalMode | Signal Mode
@flag Bit 0 | Interlace (0 : Non-interlace / 1: Interlace)
@flag Bit 1 | Overscan (0 : No Overscan / 1 : Overscan)
@flag Bit 2 | Horizontal Sync Polarity (0 : Negative / 1 : Positive)
@flag Bit 3 | Vertical Sync Polarity (0 : Negative / 1 : Positive)
@flag Bit 4-7 | Standard TV output
<nl><tab>000 - PAL B G H
<nl><tab>001 - NTSC M
<nl><tab>010..111 - Reserved
@flag Bit 8-31 | Reserved for future use
@field IN OUT ULONG | ulRefreshRate | Vertical Refresh Rate in Hz
@field IN OUT ULONG | ulHorizRate | Horizontal Refresh Rate in KHz
@field IN OUT ULONG | ulPixClock | Pixel Clock in kHz
@field IN OUT ULONG | ulHFPorch | Horizontal front porch in pixels
@field IN OUT ULONG | ulHSync | Horizontal Sync in pixels
@field IN OUT ULONG | ulHBPorch | Horizontal back porch in pixels
@field IN OUT ULONG | ulVFPorch | Vertical front porch in lines
@field IN OUT ULONG | ulVSync | Vertical Sync in lines
@field IN OUT ULONG | ulVBPorch | Vertical back Porch in lines
@field IN OUT ULONG | ulDisplayOrg | Origin of the display Offset(pixels)
@field IN OUT ULONG | ulDstOrg | Origin of the drawing Offset in the frame (pixels)
@field IN OUT ULONG | ulPanXGran | Panning in X granularity in pixel
@field IN OUT ULONG | ulPanYGran | Panning in Y granularity in pixel
@field IN OUT ULONG | ulTVStandard | TV Standard
@field IN OUT ULONG | ulCableType | Cable Type
@end
**************************************************************************************************/
typedef struct TAGMAGMODEINFO {
FLONG flOutput; /* Where we want to apply this parameters */
ULONG ulDispWidth; /* Display Width in pixels */
ULONG ulDispHeight; /* Display Height in pixels */
ULONG ulDeskWidth; /* Desktop Width in pixels */
ULONG ulDeskHeight; /* Desktop Height in pixels */
ULONG ulFBPitch; /* Frame Buffer Pitch in pixel */
ULONG ulBpp; /* Bits Per Pixels / input format */
ULONG ulZoom; /* Zoom factor */
FLONG flSignalMode; /* Signal Mode */
ULONG ulRefreshRate; /* Vertical Refresh Rate in Hz */
ULONG ulHorizRate; /* Horizontal Refresh Rate in KHz */
ULONG ulPixClock; /* Pixel Clock in kHz */
ULONG ulHFPorch; /* Horizontal front porch in pixels */
ULONG ulHSync; /* Horizontal Sync in pixels */
ULONG ulHBPorch; /* Horizontal back porch in pixels */
ULONG ulVFPorch; /* Vertical front porch in lines */
ULONG ulVSync; /* Vertical Sync in lines */
ULONG ulVBPorch; /* Vertical back Porch in lines */
ULONG ulDisplayOrg; /* Origin of the display Offset(bytes) */
ULONG ulDstOrg; /* Origin of the drawing Offset in the frame (bytes) */
ULONG ulPanXGran; /* Panning in X granularity in pixel */
ULONG ulPanYGran; /* Panning in Y granularity in pixel */
ULONG ulTVStandard; /* TV Standard */
ULONG ulCableType; /* Cable Type */
} MGAMODEINFO, FAR *LPMGAMODEINFO;
#define MGAHWINFOCAPS_CRTC1_ANALOG 1L
#define MGAHWINFOCAPS_CRTC1_DIGITAL (1L << 1)
#define MGAHWINFOCAPS_CRTC1_TV (1L << 2)
#define MGAHWINFOCAPS_CRTC2_ANALOG (1L << 3)
#define MGAHWINFOCAPS_CRTC2_DIGITAL (1L << 4)
#define MGAHWINFOCAPS_CRTC2_TV (1L << 5)
#define MGAHWINFOCAPS_OUTPUT_VGA (1L << 6)
#define MGAHWINFOCAPS_CRTC2 (MGAHWINFOCAPS_CRTC2_ANALOG | MGAHWINFOCAPS_CRTC2_DIGITAL | MGAHWINFOCAPS_CRTC2_TV)
#define MGAHWINFOCAPS_OUTPUT_ANALOG (MGAHWINFOCAPS_CRTC1_ANALOG | MGAHWINFOCAPS_CRTC2_ANALOG)
#define MGAHWINFOCAPS_OUTPUT_DIGITAL (MGAHWINFOCAPS_CRTC1_DIGITAL | MGAHWINFOCAPS_CRTC2_DIGITAL)
#define MGAHWINFOCAPS_OUTPUT_TV (MGAHWINFOCAPS_CRTC1_TV | MGAHWINFOCAPS_CRTC2_TV)
#define MGAMODEINFO_SECOND_CRTC 1L
#define MGAMODEINFO_ANALOG1 (1L << 1)
#define MGAMODEINFO_ANALOG2 (1L << 2)
#define MGAMODEINFO_DIGITAL1 (1L << 3)
#define MGAMODEINFO_DIGITAL2 (1L << 4)
#define MGAMODEINFO_FORCE_PITCH (1L << 5)
#define MGAMODEINFO_FORCE_DISPLAYORG (1L << 6)
#define MGAMODEINFO_TV (1L << 7)
#define MGAMODEINFO_TESTONLY 0x80000000
/* Cable Type */
#define TV_YC_COMPOSITE 0
#define TV_SCART_RGB 1
#define TV_SCART_COMPOSITE 2
#define TV_SCART_TYPE2 3
/* TV Standard */
#define TV_PAL 0
#define TV_NTSC 1
#if defined(__cplusplus)
extern "C" {
#endif
ULONG MGACloseLibrary(LPBOARDHANDLE pBoard);
ULONG MGAValidateMode(LPBOARDHANDLE pBoard, LPMGAMODEINFO pMgaModeInfo);
ULONG MGAValidateVideoParameters(LPBOARDHANDLE pBoard, LPMGAMODEINFO pMgaModeInfo);
ULONG MGASetMode(LPBOARDHANDLE pBoard, LPMGAMODEINFO pMgaModeInfo);
ULONG MGASetTVMode(LPBOARDHANDLE pBoard, LPMGAMODEINFO pMgaModeInfo);
ULONG MGASetVgaMode(LPBOARDHANDLE pBoard);
ULONG MGASaveVgaState(LPBOARDHANDLE pBoard);
ULONG MGARestoreVgaState(LPBOARDHANDLE pBoard);
ULONG MGAInitHardware(LPBOARDHANDLE pBoard);
ULONG MGAGetVideoParameters(LPBOARDHANDLE pBoard, LPMGAMODEINFO pMgaModeInfo, ULONG ulRefresh);
ULONG MGAGetHardwareInfo(LPBOARDHANDLE pBoard, LPMGAHWINFO pMgaHwInfo);
LPVOID MGAGetClientPointer(LPBOARDHANDLE pBoard);
ULONG MGAOpenLibrary(LPBOARDHANDLE pBoard, LPVOID lpClient, ULONG ulClientSize);
ULONG MGAGetBOARDHANDLESize(void);
ULONG MGASetTVStandard(LPBOARDHANDLE pBoard, ULONG ulTVStandard);
ULONG MGASetTVCableType(LPBOARDHANDLE pBoard, ULONG ulCableType);
ULONG HALSetDisplayStart(LPBOARDHANDLE pBoard, ULONG x, ULONG y, ULONG crtc);
#if defined(__cplusplus)
}
#endif
#endif /* _BINDING */
#ifndef _CLIENT
#define _CLIENT
#include "binding.h"
#if defined(__cplusplus)
extern "C" {
#endif
typedef void* LPBIOSREGS;
#define ASSERT_HANDLER(pBoard)
typedef struct TAGCLIENTDATA
{
ULONG ulFrameBufferBase;
ULONG ulRegisterBase;
pointer pMga;
} CLIENTDATA, *LPCLIENTDATA;
#if defined(__cplusplus)
}
#endif
#define ESC_CUSTOM_SET_FUNCTION_PTR 0x80000200
#define ESC_CUSTOM_GET_FUNCTION_PTR 0x80000201
#define ESC_CUSTOM_PATCH_HSL 0x80000202
#endif
......@@ -41,11 +41,7 @@
#define _XF86DRI_SERVER_
#include "mga_dripriv.h"
#include "dri.h"
#include "GL/glxint.h"
#include "dri.h"
#include "GL/glxint.h"
#include "mga_dri.h"
#endif
......@@ -150,7 +146,9 @@ void MGAdbg_outreg32(ScrnInfoPtr, int,int, char*);
#define PCI_CHIP_MGAG200_EW3_PCI 0x0536
#endif
#ifndef PCI_CHIP_MGAG200_EH3_PCI
#define PCI_CHIP_MGAG200_EH3_PCI 0x0538
#endif
/*
* Read/write to the DAC via MMIO
......@@ -220,9 +218,9 @@ typedef struct {
unsigned char * DacRegs;
unsigned long crtc2[0x58];
unsigned char dac2[0x21];
CARD32 Option;
CARD32 Option2;
CARD32 Option3;
uint32_t Option;
uint32_t Option2;
uint32_t Option3;
long Clock;
unsigned char Pan_Ctl;
Bool PIXPLLCSaved;
......@@ -523,7 +521,7 @@ typedef struct {
MessageType BiosFrom;
#endif
unsigned long FbAddress;
unsigned char * IOBase;
void * IOBase;
unsigned char * FbBase;
unsigned char * ILOADBase;
unsigned char * FbStart;
......@@ -561,7 +559,7 @@ typedef struct {
CARD32 MAccess;
int FifoSize;
int StyleLen;
#ifdef HAVE_XAA_H
#ifdef USE_XAA
XAAInfoRecPtr AccelInfoRec;
#endif
xf86CursorInfoPtr CursorInfoRec;
......@@ -609,9 +607,6 @@ typedef struct {
Bool directRenderingEnabled;
DRIInfoPtr pDRIInfo;
int drmFD;
int numVisualConfigs;
__GLXvisualConfig* pVisualConfigs;
MGAConfigPrivPtr pVisualConfigsPriv;
MGADRIServerPrivatePtr DRIServerInfo;
MGARegRec DRContextRegs;
......@@ -742,8 +737,9 @@ Bool mgaExaInit(ScreenPtr pScreen);
Bool MGAHWCursorInit(ScreenPtr pScreen);
#ifdef USE_XAA
void MGAPolyArcThinSolid(DrawablePtr, GCPtr, int, xArc*);
#endif /* USE_XAA */
Bool MGADGAInit(ScreenPtr pScreen);
......
......@@ -59,6 +59,7 @@ in this Software without prior written authorization from The Open Group.
OUTREG(MGAREG_YDSTLEN + MGAREG_EXEC, ((y) << 16) | 1); \
}
#ifdef USE_XAA
static void
MGAZeroArc(
DrawablePtr pDraw,
......@@ -220,4 +221,5 @@ MGAPolyArcThinSolid (
miPolyArc(pDraw, pGC, 1, arc);
}
}
#endif /* USE_XAA */
......@@ -297,7 +297,6 @@ Bool mga_read_and_process_bios( ScrnInfoPtr pScrn )
#ifndef XSERVER_LIBPCIACCESS
Bool pciBIOS = TRUE;
#endif
int rlen;
static const unsigned expected_length[] = { 0, 64, 64, 64, 128, 128 };
unsigned version;
unsigned pins_len;
......
......@@ -694,8 +694,8 @@ MGA3026Init(ScrnInfoPtr pScrn, DisplayModePtr mode)
MGA_NOT_HAL(MGATi3026SetMCLK(pScrn, MGAdac->MemoryClock));
#ifdef DEBUG
ErrorF("%6ld: %02X %02X %02X %02X %02X %02X %08lX\n", mode->Clock,
pReg->DacClk[0], pReg->DacClk[1], pReg->DacClk[2], pReg->DacClk[3], pReg->DacClk[4], pReg->DacClk[5], pReg->Option);
ErrorF("%6d: %02X %02X %02X %02X %02X %02X %08X\n", mode->Clock,
pReg->DacClk[0], pReg->DacClk[1], pReg->DacClk[2], pReg->DacClk[3], pReg->DacClk[4], pReg->DacClk[5], (unsigned)pReg->Option);
for (i=0; i<sizeof(MGADACregs); i++) ErrorF("%02X ", pReg->DacRegs[i]);
for (i=0; i<6; i++) ErrorF(" %02X", pReg->ExtVga[i]);
ErrorF("\n");
......@@ -863,8 +863,8 @@ MGA3026Save(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, MGARegPtr mgaReg,
#endif
#ifdef DEBUG
ErrorF("read: %02X %02X %02X %02X %02X %02X %08lX\n",
mgaReg->DacClk[0], mgaReg->DacClk[1], mgaReg->DacClk[2], mgaReg->DacClk[3], mgaReg->DacClk[4], mgaReg->DacClk[5], mgaReg->Option);
ErrorF("read: %02X %02X %02X %02X %02X %02X %08X\n",
mgaReg->DacClk[0], mgaReg->DacClk[1], mgaReg->DacClk[2], mgaReg->DacClk[3], mgaReg->DacClk[4], mgaReg->DacClk[5], (unsigned)mgaReg->Option);
for (i=0; i<sizeof(MGADACregs); i++) ErrorF("%02X ", mgaReg->DacRegs[i]);
for (i=0; i<6; i++) ErrorF(" %02X", mgaReg->ExtVga[i]);
ErrorF("\n");
......