ChangeLog | 35 +++++++++++++++ configure.ac | 2 debian/changelog | 9 ++++ debian/control | 6 -- debian/upstream/signing-key.asc | 89 ++++++++++++++++++++++++++++++++++++++++ src/smi.h | 1 src/smi_driver.c | 2 src/smi_exa.c | 4 + src/smi_xaa.c | 18 ++++---- 9 files changed, 151 insertions(+), 15 deletions(-)
New commits: commit 9f78914348d4de70204325289799c9e63266c346 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jan 18 14:29:15 2017 +0100 Bump Standards-Version to 3.9.8. diff --git a/debian/changelog b/debian/changelog index e225539..d35fd63 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ xserver-xorg-video-siliconmotion (1:1.7.9-1) UNRELEASED; urgency=medium * New upstream release. * Update debian/upstream/signing-key.asc. * Move URL from description to Homepage field. + * Bump Standards-Version to 3.9.8. -- Andreas Boll <andreas.boll....@gmail.com> Wed, 18 Jan 2017 14:27:32 +0100 diff --git a/debian/control b/debian/control index 467255d..a5b2716 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ Build-Depends: x11proto-fonts-dev, quilt, xutils-dev (>= 1:7.5+4), -Standards-Version: 3.9.3 +Standards-Version: 3.9.8 Homepage: https://www.x.org Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-siliconmotion.git Vcs-Browser: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-siliconmotion.git commit 24beb9daf96b899ab93086cc249d5715573d6ae4 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jan 18 14:28:41 2017 +0100 Move URL from description to Homepage field. diff --git a/debian/changelog b/debian/changelog index d139106..e225539 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xserver-xorg-video-siliconmotion (1:1.7.9-1) UNRELEASED; urgency=medium * New upstream release. * Update debian/upstream/signing-key.asc. + * Move URL from description to Homepage field. -- Andreas Boll <andreas.boll....@gmail.com> Wed, 18 Jan 2017 14:27:32 +0100 diff --git a/debian/control b/debian/control index f232cc6..467255d 100644 --- a/debian/control +++ b/debian/control @@ -14,6 +14,7 @@ Build-Depends: quilt, xutils-dev (>= 1:7.5+4), Standards-Version: 3.9.3 +Homepage: https://www.x.org Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-siliconmotion.git Vcs-Browser: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-siliconmotion.git @@ -29,7 +30,4 @@ Description: X.Org X server -- SiliconMotion display driver This package provides the driver for the SiliconMotion Lynx and Cougar family of chipsets, commonly found in laptops. . - More information about X.Org can be found at: - <URL:https://www.X.org> - . This package is built from the X.org xf86-video-siliconmotion driver module. commit d7c282a3c8f58139c2f74225ba08953617dfda8b Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jan 18 14:28:03 2017 +0100 Update debian/upstream/signing-key.asc. diff --git a/debian/changelog b/debian/changelog index 50eb1a1..d139106 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xserver-xorg-video-siliconmotion (1:1.7.9-1) UNRELEASED; urgency=medium * New upstream release. + * Update debian/upstream/signing-key.asc. -- Andreas Boll <andreas.boll....@gmail.com> Wed, 18 Jan 2017 14:27:32 +0100 diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc index 9930dd6..1c0475b 100644 --- a/debian/upstream/signing-key.asc +++ b/debian/upstream/signing-key.asc @@ -62,3 +62,92 @@ gksZFyWOfV82jHBeu+O0xJNU/9xvZsJF4TORrRWRO1o1gkF7x/oBk7yilh+mSq1P DNOWZJQhmuWMtbOUL2WMkKRPDwJrcbwpt3bc6aZCeAH1SSRLEe9Y+2uLeneTMA== =+xMJ -----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=E95b +-----END PGP PUBLIC KEY BLOCK----- commit 98eceffcda55f4f5c02492cd4e13b0df0f657cb5 Author: Andreas Boll <andreas.boll....@gmail.com> Date: Wed Jan 18 14:27:51 2017 +0100 Bump changelogs diff --git a/ChangeLog b/ChangeLog index 6d8e7c8..12dd31f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,38 @@ +commit d269962724b57e21142c9e1c6631a45a46d87b47 +Author: Matt Turner <matts...@gmail.com> +Date: Tue Jan 17 14:44:51 2017 -0800 + + xf86-video-siliconmotion 1.7.9 + + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit e67f3949648c20e16ac756ae28ea4a2b4a1d0f4c +Author: Adam Jackson <a...@redhat.com> +Date: Tue Jul 19 10:03:56 2016 -0400 + + Adapt Block/WakeupHandler signature for ABI 23 + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 647e5a93d9387e3bc8d2c8569e3a5f996acfb169 +Author: Thomas Klausner <w...@netbsd.org> +Date: Mon Sep 14 18:36:32 2015 +0200 + + Use X11/Xarch.h for endian detection. + + Reviewed-by: Connor Behan <connor.be...@gmail.com> + +commit a4e406c20ab0590214f779c2319ac7b92594a606 +Author: Connor Behan <connor.be...@gmail.com> +Date: Sun Aug 23 11:46:37 2015 -0400 + + Check for drawables before compositing + + This should prevent a crash when something like Cairo tries to composite + a solid picture. + + Signed-off-by: Connor Behan <connor.be...@gmail.com> + commit 70d3d3a384651e5d22840a0de8644eb8b10c5775 Author: Julien Cristau <jcris...@debian.org> Date: Sat May 9 16:56:51 2015 +0200 diff --git a/debian/changelog b/debian/changelog index 3796757..50eb1a1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-siliconmotion (1:1.7.9-1) UNRELEASED; urgency=medium + + * New upstream release. + + -- Andreas Boll <andreas.boll....@gmail.com> Wed, 18 Jan 2017 14:27:32 +0100 + xserver-xorg-video-siliconmotion (1:1.7.8-2) unstable; urgency=medium [ Andreas Boll ] commit d269962724b57e21142c9e1c6631a45a46d87b47 Author: Matt Turner <matts...@gmail.com> Date: Tue Jan 17 14:44:51 2017 -0800 xf86-video-siliconmotion 1.7.9 Signed-off-by: Matt Turner <matts...@gmail.com> diff --git a/configure.ac b/configure.ac index 431a564..ad388e1 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-siliconmotion], - [1.7.8], + [1.7.9], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/siliconmotion], [xf86-video-siliconmotion]) commit e67f3949648c20e16ac756ae28ea4a2b4a1d0f4c Author: Adam Jackson <a...@redhat.com> Date: Tue Jul 19 10:03:56 2016 -0400 Adapt Block/WakeupHandler signature for ABI 23 Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/src/compat-api.h b/src/compat-api.h index 6bc946f..89976e4 100644 --- a/src/compat-api.h +++ b/src/compat-api.h @@ -75,8 +75,13 @@ #define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv +#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) +#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout +#define BLOCKHANDLER_ARGS arg, pTimeout +#else #define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask #define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask +#endif #define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen #define CLOSE_SCREEN_ARGS pScreen commit 647e5a93d9387e3bc8d2c8569e3a5f996acfb169 Author: Thomas Klausner <w...@netbsd.org> Date: Mon Sep 14 18:36:32 2015 +0200 Use X11/Xarch.h for endian detection. Reviewed-by: Connor Behan <connor.be...@gmail.com> diff --git a/src/smi.h b/src/smi.h index 5e44892..2742c8d 100644 --- a/src/smi.h +++ b/src/smi.h @@ -34,6 +34,7 @@ authorization from the XFree86 Project and Silicon Motion. #include <string.h> #include <stdio.h> +#include <X11/Xarch.h> #include "xf86.h" #include "xf86_OSproc.h" diff --git a/src/smi_driver.c b/src/smi_driver.c index 2568637..8949cae 100644 --- a/src/smi_driver.c +++ b/src/smi_driver.c @@ -487,7 +487,7 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags) if (pScrn->depth > 8) { /* The defaults are OK for us */ rgb zeros = {0, 0, 0}; -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN rgb masks = {0xff00,0xff0000,0xff000000}; #else rgb masks = {0, 0, 0}; diff --git a/src/smi_xaa.c b/src/smi_xaa.c index a878098..cd861a1 100644 --- a/src/smi_xaa.c +++ b/src/smi_xaa.c @@ -211,7 +211,7 @@ SMI_SetupForScreenToScreenCopy(ScrnInfoPtr pScrn, int xdir, int ydir, int rop, ENTER(); DEBUG("xdir=%d ydir=%d rop=%02X trans=%08X\n", xdir, ydir, rop, trans); -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (pScrn->depth >= 24) trans = lswapl(trans); #endif @@ -296,7 +296,7 @@ SMI_SetupForSolidFill(ScrnInfoPtr pScrn, int color, int rop, | SMI_BITBLT | SMI_START_ENGINE; -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (pScrn->depth >= 24) { /* because of the BGR values are in the MSB bytes, * 'white' is not possible and -1 has a different meaning. @@ -408,7 +408,7 @@ SMI_SetupForCPUToScreenColorExpandFill(ScrnInfoPtr pScrn, int fg, int bg, ENTER(); DEBUG("fg=%08X bg=%08X rop=%02X\n", fg, bg, rop); -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (pScrn->depth >= 24) { /* see remark elswere */ if (fg == 0x7FFFFFFF) @@ -431,7 +431,7 @@ SMI_SetupForCPUToScreenColorExpandFill(ScrnInfoPtr pScrn, int fg, int bg, WRITE_DPR(pSmi, 0x18, ~fg); WRITE_DPR(pSmi, 0x20, fg); } else { -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (bg == 0xFFFFFF7F) bg = -1; #endif @@ -498,7 +498,7 @@ SMI_SetupForMono8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty, int fg, DEBUG("patx=%08X paty=%08X fg=%08X bg=%08X rop=%02X\n", patx, paty, fg, bg, rop); -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (pScrn->depth >= 24) { if (fg == 0x7FFFFFFF) fg = -1; @@ -524,7 +524,7 @@ SMI_SetupForMono8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty, int fg, WRITE_DPR(pSmi, 0x34, patx); WRITE_DPR(pSmi, 0x38, paty); } else { -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (bg == 0xFFFFFF7F) bg = -1; #endif @@ -582,7 +582,7 @@ SMI_SetupForColor8x8PatternFill(ScrnInfoPtr pScrn, int patx, int paty, int rop, | SMI_COLOR_PATTERN | SMI_START_ENGINE; -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (pScrn->depth >= 24) trans_color = lswapl(trans_color); #endif @@ -666,7 +666,7 @@ SMI_SetupForImageWrite(ScrnInfoPtr pScrn, int rop, unsigned int planemask, DEBUG("rop=%02X trans_color=%08X bpp=%d depth=%d\n", rop, trans_color, bpp, depth); -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (pScrn->depth >= 24) trans_color = lswapl(trans_color); #endif @@ -675,7 +675,7 @@ SMI_SetupForImageWrite(ScrnInfoPtr pScrn, int rop, unsigned int planemask, | SMI_START_ENGINE; if (trans_color != -1) { -#if __BYTE_ORDER == __BIG_ENDIAN +#if X_BYTE_ORDER == X_BIG_ENDIAN if (trans_color == 0xFFFFFF7F) trans_color = -1; #endif commit a4e406c20ab0590214f779c2319ac7b92594a606 Author: Connor Behan <connor.be...@gmail.com> Date: Sun Aug 23 11:46:37 2015 -0400 Check for drawables before compositing This should prevent a crash when something like Cairo tries to composite a solid picture. Signed-off-by: Connor Behan <connor.be...@gmail.com> diff --git a/src/smi_exa.c b/src/smi_exa.c index 70298ed..67a6fdd 100644 --- a/src/smi_exa.c +++ b/src/smi_exa.c @@ -623,6 +623,10 @@ SMI_PrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, Pi { ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SMIPtr pSmi = SMIPTR(pScrn); + + if (!pSrc) return FALSE; + if (!pSrcPicture->pDrawable) return FALSE; + int src_pitch = exaGetPixmapPitch(pSrc) / (pSrc->drawable.bitsPerPixel >> 3); int dst_pitch = exaGetPixmapPitch(pDst) / (pDst->drawable.bitsPerPixel >> 3);