diff options
author | Donnie Berkholz <dberkholz@gentoo.org> | 2008-04-10 07:36:25 +0000 |
---|---|---|
committer | Donnie Berkholz <dberkholz@gentoo.org> | 2008-04-10 07:36:25 +0000 |
commit | 7e747f79f3f0fcb92726fd6623589e71471d31e8 (patch) | |
tree | 3a886153c42fe5f0879d0fc9c43d34c798b0792a /x11-drivers | |
parent | Restored usage of virtual/libintl from -r1. Supposedly needed on ~x86-fbsd at... (diff) | |
download | historical-7e747f79f3f0fcb92726fd6623589e71471d31e8.tar.gz historical-7e747f79f3f0fcb92726fd6623589e71471d31e8.tar.bz2 historical-7e747f79f3f0fcb92726fd6623589e71471d31e8.zip |
Add some patches from upstream to fix a number of bugs, including #216637.
Package-Manager: portage-2.1.5_rc2
Diffstat (limited to 'x11-drivers')
12 files changed, 507 insertions, 7 deletions
diff --git a/x11-drivers/xf86-video-ati/ChangeLog b/x11-drivers/xf86-video-ati/ChangeLog index 329f0d3bd7a5..f72d7b36c870 100644 --- a/x11-drivers/xf86-video-ati/ChangeLog +++ b/x11-drivers/xf86-video-ati/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for x11-drivers/xf86-video-ati # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/ChangeLog,v 1.60 2008/02/24 02:27:48 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/ChangeLog,v 1.61 2008/04/10 07:36:24 dberkholz Exp $ + + 10 Apr 2008; Donnie Berkholz <dberkholz@gentoo.org>; + +files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch, + +files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch + , +files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch, + +files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch, + +files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch, + +files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch, + +files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patc + h, +files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch, + +files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.pat + ch, xf86-video-ati-6.8.0.ebuild: + Add some patches from upstream to fix a number of bugs, including #216637. 24 Feb 2008; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog: Update my email. diff --git a/x11-drivers/xf86-video-ati/Manifest b/x11-drivers/xf86-video-ati/Manifest index b5ab140ce11f..f038af8a33d2 100644 --- a/x11-drivers/xf86-video-ati/Manifest +++ b/x11-drivers/xf86-video-ati/Manifest @@ -1,6 +1,15 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +AUX 6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch 1475 RMD160 823ae425d7483b4bcb76944feb3185c6a694d361 SHA1 e781e6f8ef97d0546de3cf9c664086adb7d8c1f9 SHA256 ef6ed53daa1a382804b3ecd18f5d04899c1e2f8902e09e12fd6132017e740e30 +AUX 6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch 1149 RMD160 e3d43190941ead01962b5376036373c27e8a984a SHA1 e58e7e23ac4ba2e48893f4386d69324b9feaf4aa SHA256 aa0baace33d075c4d2bd16b25a8526b1bfdb96557000b4cfdfcd170b25b3bace +AUX 6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch 1380 RMD160 75448199255a65e47a119607aa2eb6c61a5a3557 SHA1 1d5f4b34b5e155a5db57340f486c8c1f7993955e SHA256 e34afe7401104d120acd2e55c16521ca7da03205de45b2334ed4c73ae9164372 +AUX 6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch 1134 RMD160 f5be7b9d409390ea6710046c4939b3b567687e32 SHA1 86427e37fd6aaf2e9a2e8dd1241c073bd4889fc4 SHA256 fb0fdd06e8edd3805508a5f71044e1a4ff4e739d70a52cead3aebf4e6cce7e60 +AUX 6.8.0/0005-R100-fix-render-accel-for-transforms.patch 4277 RMD160 7fc545e1a9fca6bfdafd16739caeb1ff03dd2a88 SHA1 d335a0333d5eb7a8093a6bcc726254ca78f843ab SHA256 da404e9bbbede7fd301749feacfb28693934737045bc71d11b6a4945d6f25b2a +AUX 6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch 947 RMD160 2d05797b7a20285b7d27b5874f9b64abb0f9effd SHA1 3ae0217e7f96d73bdf5ebfac248da21c5f58ef48 SHA256 b3de58cf07209c120f09ffe72bbc9d245553710c2beac36cae576800b51bda62 +AUX 6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch 2905 RMD160 a751f52c11aa55a12ed950c9aeb1bb384163f50e SHA1 116e70eaf5525cecab15870749c60955129b0f4a SHA256 647d3f9a46da62ac5dc24ff2edfe3122aa00359127dfee0134b8e7eec350177c +AUX 6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch 2135 RMD160 4ac5fb71fa37f55dbb801d81d26633fc4df1fc48 SHA1 159faea1bf1e07507bb4b744274df2bd191feb84 SHA256 b4180842b91c78ad97d93ed16a9a2e42b3fb1837e1588c5a150b9997931079f1 +AUX 6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch 1048 RMD160 fd2a80e1f3ad197097135471074960fa9d6671ac SHA1 2b59254e490c36e40c6fc997b1e318595712c490 SHA256 e1651882ceebfad2fb88d7d0e7dc09b7962acd3013a8d1e50db55af958e3ead7 AUX ati.xinf 2028 RMD160 0f57c7452bbf9d2d8d0a96f6f480b98e8a5c6d5f SHA1 51dc48aba9d3e2613d230837d369ebcab86b4c5c SHA256 79540e91ab1baf462ded22a5ef0f3cff0d95bef22db4ec13ea7101dbff29aa74 AUX r128.xinf 2491 RMD160 02f5ae030596643bdc2ce4982ee47fdbdf656f95 SHA1 cee72fd687711845f4fc435cac00b715fc19b1d3 SHA256 d8f50f12b291d526353aa5d76c95137dafbff22bf47cbb751b686252d104279b AUX radeon.xinf 12504 RMD160 48b32c2d4acc1edff0e814a173ecce1b6026ba7c SHA1 1f4d98536d013d3ac6999781578d381bbd94023f SHA256 f23555826bfce07dfaafba60957e347e36fdb694c71bc3ad39d172e3863e7c96 @@ -11,13 +20,13 @@ DIST xf86-video-ati-6.7.197.tar.bz2 750653 RMD160 8852b45803d3c6ef4e29e737507dbb DIST xf86-video-ati-6.8.0.tar.bz2 901737 RMD160 8414af2de5f21f4106a25631cfb8a4a206f5b0dd SHA1 b6974237b6ae9b45b32fc37f31a3fee7358230d3 SHA256 3863851e3c85d25cc38941eec63e866656806821b028519ae32ab8b276664fba EBUILD xf86-video-ati-6.6.3.ebuild 891 RMD160 adce8436c6484ab2bd94f54027639278bf9f1e98 SHA1 d1af926a37d18983eaf8077df11da78e761f9ae3 SHA256 caf088ba3169d3d23fd5134f6e39ab07abf9f93f29067cfd4ca85385810c5ca7 EBUILD xf86-video-ati-6.7.197.ebuild 913 RMD160 1bd6febc90e2a496651e593a5551904603753a64 SHA1 880a540b5277d3f03acfbe2a35a916ccbee29481 SHA256 63d69e3d479978bade889e41874dee938a2fbf4e8ac55a8fd2afb3856ecba820 -EBUILD xf86-video-ati-6.8.0.ebuild 911 RMD160 daa04bc0088299d64fe19c8a4f5a395ff575d5fc SHA1 3ce1e18573fb6404b777bca0a1fed9769dae1add SHA256 a623dd2ad0739a66e4e7222f2d351e83523939a1f9aaaceaf262400154925454 -MISC ChangeLog 10833 RMD160 fbddabe05542bffa543ec5e22faed5e7ecf7248e SHA1 87dee4ced8aec65c2e9833483860b8a058d51aca SHA256 fd922ae5d31ca15c7ceea985bd3a2eaf4647eccd057dcf8213a6be0fc9e68c5e +EBUILD xf86-video-ati-6.8.0.ebuild 1593 RMD160 88db7a432ca2bd5b29f80a201252eeb0d33061f7 SHA1 fe5ae254c7071099b72f1be65407b78d41f692f6 SHA256 28bed893fdf39102f497f9ce3340884c0b050828630f9df7d081624b394844ad +MISC ChangeLog 11641 RMD160 ba68b6fa1c09e2442ad1edd60c74c22b94b6b976 SHA1 670c78a6f9378ff0da4b0652324700e69ae0d6bf SHA256 1658cadac80bb137aad124ee85b06894032ff524c311b9ab3c464ed02402ff43 MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) -iD8DBQFHwNYqXVaO67S1rtsRAgXpAKDkiaBpsCR40fM/QsraHVOjN3xkOQCfbAI9 -m+38BGzvstgsR8uGo1qEBTA= -=vues +iD8DBQFH/cOAXVaO67S1rtsRAlUkAKCT00YoVqqwk/efaF56riIX8eI/dgCglb/O +u0zQYX5KRCkBx7IyvZudh8s= +=ACEi -----END PGP SIGNATURE----- diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch new file mode 100644 index 000000000000..06391030d9da --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch @@ -0,0 +1,49 @@ +From 3de2dc88cf26ff5932f11cecdf975777b8aa2a4a Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 16 Jan 2008 14:55:05 -0500 +Subject: [PATCH] Bump CRTC size limits on AVIVO chips so 30" displays work without tweaking. + +Note that the CRTC size limits we're using right now are _not_ the +hardware limits, they're just heuristics until we can resize the front +buffer properly. +--- + src/radeon_driver.c | 19 ++++++++++++------- + 1 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/src/radeon_driver.c b/src/radeon_driver.c +index 98b8c68..a5127db 100644 +--- a/src/radeon_driver.c ++++ b/src/radeon_driver.c +@@ -2731,17 +2731,22 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags) + if (crtc_max_Y > 8192) + crtc_max_Y = 8192; + } else { ++ /* ++ * note that these aren't really the CRTC limits, they're just ++ * heuristics until we have a better memory manager. ++ */ + if (pScrn->videoRam <= 16384) { + crtc_max_X = 1600; + crtc_max_Y = 1200; ++ } else if (IS_R300_VARIANT) { ++ crtc_max_X = 2560; ++ crtc_max_Y = 1200; ++ } else if (IS_AVIVO_VARIANT) { ++ crtc_max_X = 2560; ++ crtc_max_Y = 1600; + } else { +- if (IS_R300_VARIANT || IS_AVIVO_VARIANT) { +- crtc_max_X = 2560; +- crtc_max_Y = 1200; +- } else { +- crtc_max_X = 2048; +- crtc_max_Y = 1200; +- } ++ crtc_max_X = 2048; ++ crtc_max_Y = 1200; + } + } + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Max desktop size set to %dx%d\n", +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch new file mode 100644 index 000000000000..4003bde56c35 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch @@ -0,0 +1,56 @@ +From af82172a82f2bdf96e571def659a1c70f92dfdbf Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@botch2.(none)> +Date: Tue, 19 Feb 2008 19:39:35 -0500 +Subject: [PATCH] RADEON: update man page with supported chips + +--- + man/radeon.man | 26 +++++++++++++++++++++++++- + 1 files changed, 25 insertions(+), 1 deletions(-) + +diff --git a/man/radeon.man b/man/radeon.man +index b4ade32..86be965 100644 +--- a/man/radeon.man ++++ b/man/radeon.man +@@ -53,7 +53,7 @@ Radeon 9100 IGP + Radeon 9200 IGP + .TP 12 + .B RS400 +-Radeon XPRESS 200/200M IGP (2d only) ++Radeon XPRESS 200/200M IGP + .TP 12 + .B RV280 + Radeon 9200PRO/9200/9200SE, M9+ +@@ -90,6 +90,30 @@ Radeon X800, M28 PCIE + .TP 12 + .B R480/R481 + Radeon X850 PCIE/AGP ++.TP 12 ++.B RV515 ++Radeon X1300/X1400/X1500 ++.TP 12 ++.B R520 ++Radeon X1800 ++.TP 12 ++.B RV530/RV560 ++Radeon X1600/X1650/X1700 ++.TP 12 ++.B RV570/R580 ++Radeon X1900/X1950 ++.TP 12 ++.B RS600/RS690 ++Radeon X1200 ++.TP 12 ++.B R600 ++Radeon HD 2900 ++.TP 12 ++.B RV610/RV630 ++Radeon HD 2400/2600 ++.TP 12 ++.B RV670 ++Radeon HD 3850/3870 + + .SH CONFIGURATION DETAILS + Please refer to __xconfigfile__(__filemansuffix__) for general configuration +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch new file mode 100644 index 000000000000..92c17b1aeda9 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch @@ -0,0 +1,46 @@ +From b77e2aff7453a9f370beba37ca3c25b92b3f97ff Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@botch2.(none)> +Date: Tue, 19 Feb 2008 19:55:41 -0500 +Subject: [PATCH] RADEON: fix DDC types 5 and 6 + +--- + src/radeon_output.c | 23 +++++++++++++++++------ + 1 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/src/radeon_output.c b/src/radeon_output.c +index aceb3d8..e65e269 100644 +--- a/src/radeon_output.c ++++ b/src/radeon_output.c +@@ -1754,12 +1754,23 @@ legacy_setup_i2c_bus(int ddc_line) + i2c.put_data_mask = RADEON_GPIO_EN_0; + i2c.get_clk_mask = RADEON_GPIO_Y_1; + i2c.get_data_mask = RADEON_GPIO_Y_0; +- i2c.mask_clk_reg = ddc_line; +- i2c.mask_data_reg = ddc_line; +- i2c.put_clk_reg = ddc_line; +- i2c.put_data_reg = ddc_line; +- i2c.get_clk_reg = ddc_line; +- i2c.get_data_reg = ddc_line; ++ if ((ddc_line == RADEON_LCD_GPIO_MASK) || ++ (ddc_line == RADEON_MDGPIO_EN_REG)) { ++ i2c.mask_clk_reg = ddc_line; ++ i2c.mask_data_reg = ddc_line; ++ i2c.put_clk_reg = ddc_line; ++ i2c.put_data_reg = ddc_line; ++ i2c.get_clk_reg = ddc_line + 4; ++ i2c.get_data_reg = ddc_line + 4; ++ } else { ++ i2c.mask_clk_reg = ddc_line; ++ i2c.mask_data_reg = ddc_line; ++ i2c.put_clk_reg = ddc_line; ++ i2c.put_data_reg = ddc_line; ++ i2c.get_clk_reg = ddc_line; ++ i2c.get_data_reg = ddc_line; ++ } ++ + if (ddc_line) + i2c.valid = TRUE; + else +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch new file mode 100644 index 000000000000..4e496bdc1d3f --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch @@ -0,0 +1,35 @@ +From a0a73208a21546ac120fb9a463261836c9ea7b55 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@botch2.(none)> +Date: Tue, 19 Feb 2008 20:11:19 -0500 +Subject: [PATCH] RADEON: restore clock gating and CP clock errata on VT switch + +This may help people with hangs on resume +--- + src/radeon_driver.c | 11 +++++++++++ + 1 files changed, 11 insertions(+), 0 deletions(-) + +diff --git a/src/radeon_driver.c b/src/radeon_driver.c +index 9c5fce6..abf7d5c 100644 +--- a/src/radeon_driver.c ++++ b/src/radeon_driver.c +@@ -4906,6 +4906,17 @@ Bool RADEONEnterVT(int scrnIndex, int flags) + /* Makes sure the engine is idle before doing anything */ + RADEONWaitForIdleMMIO(pScrn); + ++ if (info->IsMobility && !IS_AVIVO_VARIANT) { ++ if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) { ++ RADEONSetDynamicClock(pScrn, 1); ++ } else { ++ RADEONSetDynamicClock(pScrn, 0); ++ } ++ } ++ ++ if (IS_R300_VARIANT || IS_RV100_VARIANT) ++ RADEONForceSomeClocks(pScrn); ++ + pScrn->vtSema = TRUE; + for (i = 0; i < xf86_config->num_crtc; i++) { + xf86CrtcPtr crtc = xf86_config->crtc[i]; +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch new file mode 100644 index 000000000000..b92a3a649bd5 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch @@ -0,0 +1,77 @@ +From b5bd442b60dbc72fe4c1e928ab864aeb0fd7a3cb Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@botch2.(none)> +Date: Tue, 19 Feb 2008 20:47:40 -0500 +Subject: [PATCH] R100: fix render accel for transforms + +Not sure why we had a separate broken path for r100 vertex +submission. +--- + src/radeon_exa_render.c | 38 ++++++++++++-------------------------- + 1 files changed, 12 insertions(+), 26 deletions(-) + +diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c +index 6003587..da1fa47 100644 +--- a/src/radeon_exa_render.c ++++ b/src/radeon_exa_render.c +@@ -1103,7 +1103,6 @@ static void FUNC_NAME(RadeonComposite)(PixmapPtr pDst, + int w, int h) + { + RINFO_FROM_SCREEN(pDst->drawable.pScreen); +- int srcXend, srcYend, maskXend, maskYend; + int vtx_count; + xPointFixed srcTopLeft, srcTopRight, srcBottomLeft, srcBottomRight; + xPointFixed maskTopLeft, maskTopRight, maskBottomLeft, maskBottomRight; +@@ -1114,11 +1113,6 @@ static void FUNC_NAME(RadeonComposite)(PixmapPtr pDst, + /* ErrorF("RadeonComposite (%d,%d) (%d,%d) (%d,%d) (%d,%d)\n", + srcX, srcY, maskX, maskY,dstX, dstY, w, h); */ + +- srcXend = srcX + w; +- srcYend = srcY + h; +- maskXend = maskX + w; +- maskYend = maskY + h; +- + srcTopLeft.x = IntToxFixed(srcX); + srcTopLeft.y = IntToxFixed(srcY); + srcTopRight.x = IntToxFixed(srcX + w); +@@ -1202,26 +1196,18 @@ static void FUNC_NAME(RadeonComposite)(PixmapPtr pDst, + } + #endif + +- if (info->texW[0] == 1 && info->texH[0] == 1 && +- info->texW[1] == 1 && info->texH[1] == 1) { +- VTX_OUT(dstX, dstY, srcX, srcY, maskX, maskY); +- VTX_OUT(dstX, dstY + h, srcX, srcYend, maskX, maskYend); +- VTX_OUT(dstX + w, dstY + h, srcXend, srcYend, maskXend, maskYend); +- VTX_OUT(dstX + w, dstY, srcXend, srcY, maskXend, maskY); +- } else { +- VTX_OUT((float)dstX, (float)dstY, +- xFixedToFloat(srcTopLeft.x) / info->texW[0], xFixedToFloat(srcTopLeft.y) / info->texH[0], +- xFixedToFloat(maskTopLeft.x) / info->texW[1], xFixedToFloat(maskTopLeft.y) / info->texH[1]); +- VTX_OUT((float)dstX, (float)(dstY + h), +- xFixedToFloat(srcBottomLeft.x) / info->texW[0], xFixedToFloat(srcBottomLeft.y) / info->texH[0], +- xFixedToFloat(maskBottomLeft.x) / info->texW[1], xFixedToFloat(maskBottomLeft.y) / info->texH[1]); +- VTX_OUT((float)(dstX + w), (float)(dstY + h), +- xFixedToFloat(srcBottomRight.x) / info->texW[0], xFixedToFloat(srcBottomRight.y) / info->texH[0], +- xFixedToFloat(maskBottomRight.x) / info->texW[1], xFixedToFloat(maskBottomRight.y) / info->texH[1]); +- VTX_OUT((float)(dstX + w), (float)dstY, +- xFixedToFloat(srcTopRight.x) / info->texW[0], xFixedToFloat(srcTopRight.y) / info->texH[0], +- xFixedToFloat(maskTopRight.x) / info->texW[1], xFixedToFloat(maskTopRight.y) / info->texH[1]); +- } ++ VTX_OUT((float)dstX, (float)dstY, ++ xFixedToFloat(srcTopLeft.x) / info->texW[0], xFixedToFloat(srcTopLeft.y) / info->texH[0], ++ xFixedToFloat(maskTopLeft.x) / info->texW[1], xFixedToFloat(maskTopLeft.y) / info->texH[1]); ++ VTX_OUT((float)dstX, (float)(dstY + h), ++ xFixedToFloat(srcBottomLeft.x) / info->texW[0], xFixedToFloat(srcBottomLeft.y) / info->texH[0], ++ xFixedToFloat(maskBottomLeft.x) / info->texW[1], xFixedToFloat(maskBottomLeft.y) / info->texH[1]); ++ VTX_OUT((float)(dstX + w), (float)(dstY + h), ++ xFixedToFloat(srcBottomRight.x) / info->texW[0], xFixedToFloat(srcBottomRight.y) / info->texH[0], ++ xFixedToFloat(maskBottomRight.x) / info->texW[1], xFixedToFloat(maskBottomRight.y) / info->texH[1]); ++ VTX_OUT((float)(dstX + w), (float)dstY, ++ xFixedToFloat(srcTopRight.x) / info->texW[0], xFixedToFloat(srcTopRight.y) / info->texH[0], ++ xFixedToFloat(maskTopRight.x) / info->texW[1], xFixedToFloat(maskTopRight.y) / info->texH[1]); + + if (IS_R300_VARIANT) { + OUT_ACCEL_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0xA); +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch new file mode 100644 index 000000000000..26af81fe7143 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch @@ -0,0 +1,25 @@ +From 1d0e9ab8b9451101b1b91943546f6c5833c21b3f Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Michel=20D=C3=A4nzer?= <michel@tungstengraphics.com> +Date: Wed, 20 Feb 2008 10:21:49 +0100 +Subject: [PATCH] radeon: Fix typo flagged by gcc -Wall. + +--- + src/radeon_output.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/radeon_output.c b/src/radeon_output.c +index e65e269..48cac7d 100644 +--- a/src/radeon_output.c ++++ b/src/radeon_output.c +@@ -393,7 +393,7 @@ void RADEONConnectorFindMonitor(ScrnInfoPtr pScrn, xf86OutputPtr output) + /* panel is probably busted or not connected */ + if ((radeon_output->MonType == MT_LCD) && + ((radeon_output->PanelXRes == 0) || (radeon_output->PanelYRes == 0))) +- radeon_output->MonType == MT_NONE; ++ radeon_output->MonType = MT_NONE; + + if (output->MonInfo) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EDID data from the display on output: %s ----------------------\n", +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch new file mode 100644 index 000000000000..137a0df293bc --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch @@ -0,0 +1,76 @@ +From 3327a681e21101cc6f6e162f4e29f9937b69ccc3 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@cube.(none)> +Date: Fri, 22 Feb 2008 17:05:56 -0500 +Subject: [PATCH] ATOM: properly set up DDIA output on RS6xx boards + +--- + src/atombios_output.c | 39 ++++++++++++++++++++++++++++++++++++--- + 1 files changed, 36 insertions(+), 3 deletions(-) + +diff --git a/src/atombios_output.c b/src/atombios_output.c +index 6c638b1..07d212f 100644 +--- a/src/atombios_output.c ++++ b/src/atombios_output.c +@@ -235,6 +235,35 @@ atombios_external_tmds_setup(xf86OutputPtr output, DisplayModePtr mode) + } + + static int ++atombios_ddia_setup(xf86OutputPtr output, DisplayModePtr mode) ++{ ++ RADEONInfoPtr info = RADEONPTR(output->scrn); ++ DVO_ENCODER_CONTROL_PS_ALLOCATION disp_data; ++ AtomBiosArgRec data; ++ unsigned char *space; ++ ++ disp_data.sDVOEncoder.ucAction = ATOM_ENABLE; ++ disp_data.sDVOEncoder.usPixelClock = mode->Clock / 10; ++ ++ if (mode->Clock > 165000) ++ disp_data.sDVOEncoder.usDevAttr.sDigAttrib.ucAttribute = PANEL_ENCODER_MISC_DUAL; ++ else ++ disp_data.sDVOEncoder.usDevAttr.sDigAttrib.ucAttribute = 0; ++ ++ data.exec.index = GetIndexIntoMasterTable(COMMAND, DVOEncoderControl); ++ data.exec.dataSpace = (void *)&space; ++ data.exec.pspace = &disp_data; ++ ++ if (RHDAtomBiosFunc(info->atomBIOS->scrnIndex, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) { ++ ErrorF("DDIA setup success\n"); ++ return ATOM_SUCCESS; ++ } ++ ++ ErrorF("DDIA setup failed\n"); ++ return ATOM_NOT_IMPLEMENTED; ++} ++ ++static int + atombios_output_tmds1_setup(xf86OutputPtr output, DisplayModePtr mode) + { + RADEONInfoPtr info = RADEONPTR(output->scrn); +@@ -536,6 +565,7 @@ atombios_output_mode_set(xf86OutputPtr output, + DisplayModePtr adjusted_mode) + { + RADEONOutputPrivatePtr radeon_output = output->driver_private; ++ RADEONInfoPtr info = RADEONPTR(output->scrn); + + atombios_output_scaler_setup(output, mode); + atombios_set_output_crtc_source(output); +@@ -551,9 +581,12 @@ atombios_output_mode_set(xf86OutputPtr output, + } else if (radeon_output->MonType == MT_DFP) { + if (radeon_output->devices & ATOM_DEVICE_DFP1_SUPPORT) + atombios_output_tmds1_setup(output, adjusted_mode); +- else if (radeon_output->devices & ATOM_DEVICE_DFP2_SUPPORT) +- atombios_external_tmds_setup(output, adjusted_mode); +- else if (radeon_output->devices & ATOM_DEVICE_DFP3_SUPPORT) ++ else if (radeon_output->devices & ATOM_DEVICE_DFP2_SUPPORT) { ++ if (info->IsIGP) ++ atombios_ddia_setup(output, adjusted_mode); ++ else ++ atombios_external_tmds_setup(output, adjusted_mode); ++ } else if (radeon_output->devices & ATOM_DEVICE_DFP3_SUPPORT) + atombios_output_tmds2_setup(output, adjusted_mode); + } else if (radeon_output->MonType == MT_LCD) { + if (radeon_output->devices & ATOM_DEVICE_LCD1_SUPPORT) +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch new file mode 100644 index 000000000000..f8a78ee4e5ee --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch @@ -0,0 +1,70 @@ +From a7b5c3bb74fc4de5e38a75ac31656445ce823464 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@cube.(none)> +Date: Fri, 22 Feb 2008 19:35:11 -0500 +Subject: [PATCH] RS6xx: fix DDC on DDIA output (usually HDMI port) + +--- + src/radeon_atombios.c | 6 +++++- + src/radeon_output.c | 3 ++- + src/radeon_probe.h | 3 ++- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c +index ddd332f..fbe937d 100644 +--- a/src/radeon_atombios.c ++++ b/src/radeon_atombios.c +@@ -1759,6 +1759,10 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn) + (i == ATOM_DEVICE_TV2_INDEX) || + (i == ATOM_DEVICE_CV_INDEX)) + info->BiosConnector[i].ddc_i2c.valid = FALSE; ++ else if ((i == ATOM_DEVICE_DFP3_INDEX) && info->IsIGP) ++ /* DDIA port uses gpio entry 3 */ ++ info->BiosConnector[i].ddc_i2c = ++ RADEONLookupGPIOLineForDDC(pScrn, 3); + else + info->BiosConnector[i].ddc_i2c = + RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux); +@@ -1772,7 +1776,7 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn) + info->BiosConnector[i].TMDSType = TMDS_EXT; + } else if (i == ATOM_DEVICE_DFP3_INDEX) { + if (info->IsIGP) +- info->BiosConnector[i].TMDSType = TMDS_EXT; ++ info->BiosConnector[i].TMDSType = TMDS_DDIA; + else + info->BiosConnector[i].TMDSType = TMDS_LVTMA; + } else +diff --git a/src/radeon_output.c b/src/radeon_output.c +index 48cac7d..62cc5d4 100644 +--- a/src/radeon_output.c ++++ b/src/radeon_output.c +@@ -74,11 +74,12 @@ const RADEONMonitorType MonTypeID[10] = { + MT_DP + }; + +-const char *TMDSTypeName[4] = { ++const char *TMDSTypeName[5] = { + "None", + "Internal", + "External", + "LVTMA", ++ "DDIA" + }; + + const char *DACTypeName[4] = { +diff --git a/src/radeon_probe.h b/src/radeon_probe.h +index a3cf1fc..9c1bdc5 100644 +--- a/src/radeon_probe.h ++++ b/src/radeon_probe.h +@@ -103,7 +103,8 @@ typedef enum + TMDS_NONE = 0, + TMDS_INT = 1, + TMDS_EXT = 2, +- TMDS_LVTMA = 3 ++ TMDS_LVTMA = 3, ++ TMDS_DDIA = 4 + } RADEONTmdsType; + + typedef enum +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch new file mode 100644 index 000000000000..3589a59009cd --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch @@ -0,0 +1,32 @@ +From 5e3b21284482df9974c9a58f248f0100def2bb0c Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alex@samba.(none)> +Date: Wed, 19 Mar 2008 19:15:05 -0400 +Subject: [PATCH] Disable the setting of HARDWARE_CURSOR_BIT_ORDER_MSBFIRST + +See bug 11796 +--- + src/radeon_cursor.c | 8 -------- + 1 files changed, 0 insertions(+), 8 deletions(-) + +diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c +index 0f7e668..de64dee 100644 +--- a/src/radeon_cursor.c ++++ b/src/radeon_cursor.c +@@ -346,14 +346,6 @@ Bool RADEONCursorInit(ScreenPtr pScreen) + + return xf86_cursors_init (pScreen, CURSOR_WIDTH, CURSOR_HEIGHT, + (HARDWARE_CURSOR_TRUECOLOR_AT_8BPP | +-#if X_BYTE_ORDER == X_BIG_ENDIAN +- /* this is a lie -- +- * HARDWARE_CURSOR_BIT_ORDER_MSBFIRST +- * actually inverts the bit order, so +- * this switches to LSBFIRST +- */ +- HARDWARE_CURSOR_BIT_ORDER_MSBFIRST | +-#endif + HARDWARE_CURSOR_AND_SOURCE_WITH_MASK | + HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1 | + HARDWARE_CURSOR_ARGB)); +-- +1.5.4.5 + diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild index df6ecd0e86e1..f00cf02295d6 100644 --- a/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild +++ b/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild,v 1.1 2008/02/19 08:22:44 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild,v 1.2 2008/04/10 07:36:24 dberkholz Exp $ # Must be before x-modular eclass is inherited #SNAPSHOT="yes" @@ -28,6 +28,18 @@ DEPEND="${RDEPEND} CONFIGURE_OPTIONS="$(use_enable dri)" +PATCHES=" + ${FILESDIR}/${PV}/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch + ${FILESDIR}/${PV}/0002-RADEON-update-man-page-with-supported-chips.patch + ${FILESDIR}/${PV}/0003-RADEON-fix-DDC-types-5-and-6.patch + ${FILESDIR}/${PV}/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch + ${FILESDIR}/${PV}/0005-R100-fix-render-accel-for-transforms.patch + ${FILESDIR}/${PV}/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch + ${FILESDIR}/${PV}/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch + ${FILESDIR}/${PV}/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch + ${FILESDIR}/${PV}/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch + " + pkg_setup() { if use dri && ! built_with_use x11-base/xorg-server dri; then die "Build x11-base/xorg-server with USE=dri." |