diff options
Diffstat (limited to 'packaging/u_cirrus-virt-16bpp.patch')
-rw-r--r-- | packaging/u_cirrus-virt-16bpp.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/packaging/u_cirrus-virt-16bpp.patch b/packaging/u_cirrus-virt-16bpp.patch new file mode 100644 index 0000000..11ea3e5 --- /dev/null +++ b/packaging/u_cirrus-virt-16bpp.patch @@ -0,0 +1,31 @@ +diff -up xf86-video-cirrus-1.3.2/src/alp_driver.c.jx xf86-video-cirrus-1.3.2/src/alp_driver.c +--- xf86-video-cirrus-1.3.2/src/alp_driver.c.jx 2012-04-02 16:30:29.000000000 -0400 ++++ xf86-video-cirrus-1.3.2/src/alp_driver.c 2012-04-02 16:33:11.668580522 -0400 +@@ -476,6 +476,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + vgaHWPtr hwp; + MessageType from, from1; + int i; ++ int defaultdepth; + int depth_flags; + ClockRangePtr clockRanges; + char *s; +@@ -557,11 +558,18 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + depth_flags |= Support32bppFb | + SupportConvert32to24 | + PreferConvert32to24; ++ ++ /* use 16bpp in virt */ ++ if ((pCir->PciInfo->subvendor_id & 0xffff) == 0x1af4) ++ defaultdepth = 16; ++ else ++ defaultdepth = 24; ++ + /* + * The first thing we should figure out is the depth, bpp, etc. + * We support both 24bpp and 32bpp layouts, so indicate that. + */ +- if (!xf86SetDepthBpp(pScrn, 0, 0, 24, depth_flags)) { ++ if (!xf86SetDepthBpp(pScrn, 0, 0, defaultdepth, depth_flags)) { + return FALSE; + } else { + /* Check that the returned depth is one we support */ |