rpms/xorg-x11-drv-ati/F-9 radeon-git-upstream-fixes2.patch, 1.4, 1.5 xorg-x11-drv-ati.spec, 1.93, 1.94
Dave Airlie (airlied)
fedora-extras-commits at redhat.com
Wed May 7 00:43:55 UTC 2008
Author: airlied
Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24980
Modified Files:
radeon-git-upstream-fixes2.patch xorg-x11-drv-ati.spec
Log Message:
* Wed May 07 2008 Dave Airlie <airlied at redhat.com> 6.8.0-13
- more upstream fixes for EXA accel + zaphod mode
radeon-git-upstream-fixes2.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.4 -r 1.5 radeon-git-upstream-fixes2.patch
Index: radeon-git-upstream-fixes2.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-9/radeon-git-upstream-fixes2.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- radeon-git-upstream-fixes2.patch 6 Apr 2008 07:14:38 -0000 1.4
+++ radeon-git-upstream-fixes2.patch 7 May 2008 00:43:17 -0000 1.5
@@ -1,3 +1,319 @@
+commit c3532268875fd24e6519bea2fb1b814d612bbdb4
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 02:37:18 2008 +1000
+
+ radeon: fix zaphod EXA with texture video
+
+commit ffc437f3606ab8ceba1ff152e4bb08988a58b54c
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 02:30:28 2008 +1000
+
+ avivo: fix zaphod cursor in theory
+
+commit e36ef14e3a1087e1fe41baa26ade2937f396001f
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 01:39:28 2008 +1000
+
+ radeon: fix textured-xv on zaphod
+
+commit 8fc19bee27c0f151d2ab3354f6ac0992b358436d
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 01:38:24 2008 +1000
+
+ radeon: zaphod: fix render accel for EXA
+
+commit fc41b9042a5220a8419cc7b69ca3850cae6b903c
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 01:32:23 2008 +1000
+
+ radeon: fix EXA pixmap offset on zaphod
+
+commit 4568cb820d567c6909a4be956d7e79b91232535e
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 01:19:39 2008 +1000
+
+ radeon: zaphod fixes for pciaccess not allowing multiple MMIO maps
+
+commit ca81fa086b21633a7fd926833fb6d1d4fa080646
+Author: Dave Airlie <airlied at linux.ie>
+Date: Wed May 7 01:12:01 2008 +1000
+
+ radeon: zaphod fix for cursor on second head
+
+ We don't need to add fbOffset here as the mmap we have of the framebuffer
+ starts half way.
+
+commit 24b60c8965f6a0b3f0c2bb1e7236b4d6642c5918
+Author: Julien Cristau <jcristau at debian.org>
+Date: Fri May 2 15:30:45 2008 -0400
+
+ Add a test for __GLIBC__ to CD_Common_Types.h.
+
+ Atombios redefines the standard types but the definitions conflict
+ with the ones from glibc (causes build failures on GNU/Hurd
+ and GNU/kFreeBSD).
+
+commit f051359ac09c6b9416e39b9ca7d9dc0880aa1557
+Author: thegraze <thegraze at googlemail.com>
+Date: Fri May 2 14:02:16 2008 -0400
+
+ ATOM: add support for DragonFlyBSD
+
+commit 3d469cbc3225d890a895dac7cbc1ab7e08054b48
+Author: Alex Deucher <alex at cube.(none)>
+Date: Wed Apr 30 18:33:04 2008 -0400
+
+ RADEON: lock the cursors when updating
+
+ this should fix occasional corruption seen when updating
+ the cursor.
+
+commit 445b71021843665ba32f37b2ce5c9d2857c07cc7
+Author: Alex Deucher <alex at cube.(none)>
+Date: Tue Apr 29 21:01:41 2008 -0400
+
+ RADEON: assorted fixes
+
+ - free rotate pixmaps on VT switch
+ - save crtc/output status so we only turn on
+ crtcs/outputs if they are off
+ - show/hide cursors when changing modes
+
+commit 070cce5255a5c311f9d8b85ec54bd56655014933
+Author: Stephan Wolf <stephan at letzte-bankreihe.de>
+Date: Mon Apr 28 11:26:37 2008 -0400
+
+ R3xx+: further fix for IGP chips
+
+ see bug 15538
+
+commit 211e0041c7fc2df494b77428553943a2b526ee4e
+Author: Alex Deucher <alex at cube.(none)>
+Date: Sun Apr 27 21:08:00 2008 -0400
+
+ IGP: fix EXA composite corruption
+
+commit 656b06bdde129ca4fc370f5a2cf7311c9179b0ff
+Author: Alex Deucher <alex at botch2.com>
+Date: Sun Apr 27 20:20:49 2008 -0400
+
+ RADEON: remove duplicate register define
+
+ Also add more bit defs to wait_until register
+
+commit 8a9820a3aa49bc667f90ac291a27e4d7b4ae38b3
+Author: Alex Deucher <alex at botch2.com>
+Date: Sun Apr 27 19:02:22 2008 -0400
+
+ RADEON: decrease crtc/output verbosity
+
+commit c5d62fa0e8f52c3264ff9db3ff10cdf5a806bfc0
+Author: Owen Taylor <otaylor at huygens.home.fishsoup.net>
+Date: Thu Apr 17 13:14:53 2008 +0200
+
+ Emulate repeats by drawing in tiles
+
+ When we can't turn on hardware repeats, because the texture
+ is non-power-of-two, or has padding at the ends of lines,
+ try to draw the image in multiple tiles rather than falling
+ back to software. (We can only do this when there is no
+ transform.)
+
+commit eeb7b74bb6c813b0e3afa4b704f6ffb0d0aab92b
+Author: Owen Taylor <otaylor at huygens.home.fishsoup.net>
+Date: Thu Apr 17 13:14:25 2008 +0200
+
+ Turn on wrapping when repeating on R100 + R200
+
+ Actually enable repeats for R100 and R200. This corresponds
+ to a R300 change made in the patch in:
+ http://bugs.freedesktop.org/show_bug.cgi?id=15333
+
+commit e511f39dfef503006cf249b9f6934091eaade9b5
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date: Thu Apr 17 05:04:34 2008 -0400
+
+ R300+: move more common code into init3d()
+
+ - pre-load r3xx tex instructions
+ - setup RS instructions in init3d()
+
+commit 99435b7c18d931ea620044d0fdb4cc93dfcc6331
+Author: Owen Taylor <otaylor at redhat.com>
+Date: Thu Apr 17 02:46:11 2008 -0400
+
+ Radeon: Omit mask coordinates
+
+ Adapted from Owen's patch on bug 15546
+ This fixes the slowness with aatext on r300
+ and may speed up other chips marginally.
+
+commit 37614e1db9a595fbe8a21d7a045895e11d272db9
+Author: Alex Deucher <alex at botch2.com>
+Date: Tue Apr 15 09:48:16 2008 -0400
+
+ fix up some things from the last commit
+
+commit 1286fe5ce1c77453d57817b9b26b1bdb32ca7bc8
+Author: Alex Deucher <alex at botch2.(none)>
+Date: Mon Apr 14 20:02:14 2008 -0400
+
+ R300+: properly setup vap_cntl
+
+ this fixes tcl/pvs on RV515 among other things
+
+commit f72a4b805db26f10f69330b88459cbeae661189b
+Author: Alex Deucher <alex at botch2.com>
+Date: Mon Apr 14 14:10:40 2008 -0400
+
+ EXA: Don't wait for 3D idle after each Composite()
+
+ wait in CompositeDone() instead
+
+commit 4cd4acf1092aeb696b086a382a033aee471d2de9
+Author: Alex Deucher <alex at botch2.com>
+Date: Mon Apr 14 11:50:59 2008 -0400
+
+ R300: move more common code to init3d()
+
+commit 3c523c9a07402e17dff588fad842224c57e98223
+Author: Alex Deucher <alex at botch2.com>
+Date: Mon Apr 14 11:21:42 2008 -0400
+
+ R3xx+: 3D engine documentation and minor cleanups
+
+ - document the R300 exa/textured video code
+ - minor cleanups of textured video code to clarify meaning
+
+commit ce025bbb2496d4de94b8d4ac450c64441b64ee04
+Author: Alex Deucher <alex at botch2.com>
+Date: Sat Apr 12 21:22:03 2008 -0400
+
[...4320 lines suppressed...]
-+ (R300_ALU_START(0) |
-+ R300_ALU_SIZE(0) |
-+ R300_TEX_START(0) |
-+ R300_TEX_SIZE(0)));
-+ OUT_VIDEO_REG(R300_US_CODE_ADDR_2,
-+ (R300_ALU_START(0) |
-+ R300_ALU_SIZE(0) |
-+ R300_TEX_START(0) |
-+ R300_TEX_SIZE(0)));
++
+ OUT_VIDEO_REG(R300_US_CODE_ADDR_3,
+ (R300_ALU_START(0) |
+ R300_ALU_SIZE(0) |
+ R300_TEX_START(0) |
+ R300_TEX_SIZE(0) |
+ R300_RGBA_OUT));
-+ OUT_VIDEO_REG(R300_US_TEX_INST_0,
-+ (R300_TEX_SRC_ADDR(0) |
-+ R300_TEX_DST_ADDR(0) |
-+ R300_TEX_ID(0) |
-+ R300_TEX_INST(R300_TEX_INST_LD)));
++
++ /* tex inst is preloaded in RADEONInit3DEngine() */
++
++ /* ALU inst */
++ /* RGB */
+ OUT_VIDEO_REG(R300_US_ALU_RGB_ADDR_0,
+ (R300_ALU_RGB_ADDR0(0) |
+ R300_ALU_RGB_ADDR1(0) |
+ R300_ALU_RGB_ADDR2(0) |
+ R300_ALU_RGB_ADDRD(0) |
-+ R300_ALU_RGB_WMASK((R300_ALU_RGB_MASK_R |
-+ R300_ALU_RGB_MASK_G |
-+ R300_ALU_RGB_MASK_B)) |
+ R300_ALU_RGB_OMASK((R300_ALU_RGB_MASK_R |
+ R300_ALU_RGB_MASK_G |
+ R300_ALU_RGB_MASK_B)) |
@@ -8490,12 +10639,12 @@
+ R300_ALU_RGB_OP(R300_ALU_RGB_OP_MAD) |
+ R300_ALU_RGB_OMOD(R300_ALU_RGB_OMOD_NONE) |
+ R300_ALU_RGB_CLAMP));
++ /* Alpha */
+ OUT_VIDEO_REG(R300_US_ALU_ALPHA_ADDR_0,
+ (R300_ALU_ALPHA_ADDR0(0) |
+ R300_ALU_ALPHA_ADDR1(0) |
+ R300_ALU_ALPHA_ADDR2(0) |
+ R300_ALU_ALPHA_ADDRD(0) |
-+ R300_ALU_ALPHA_WMASK(R300_ALU_ALPHA_MASK_A) |
+ R300_ALU_ALPHA_OMASK(R300_ALU_ALPHA_MASK_A) |
+ R300_ALU_ALPHA_TARGET_A |
+ R300_ALU_ALPHA_OMASK_W(R300_ALU_ALPHA_MASK_NONE)));
@@ -8512,29 +10661,25 @@
FINISH_VIDEO();
} else {
- BEGIN_VIDEO(22);
-+ BEGIN_VIDEO(23);
++ BEGIN_VIDEO(18);
++ /* 2 components: 2 for tex0 */
OUT_VIDEO_REG(R300_RS_COUNT,
((2 << R300_RS_COUNT_IT_COUNT_SHIFT) |
R300_RS_COUNT_HIRES_EN));
- OUT_VIDEO_REG(R500_RS_IP_0, (0 << R500_RS_IP_TEX_PTR_S_SHIFT) | (1 << R500_RS_IP_TEX_PTR_T_SHIFT) |
- (R500_RS_IP_PTR_K0 << R500_RS_IP_TEX_PTR_R_SHIFT) | (R500_RS_IP_PTR_K1 << R500_RS_IP_TEX_PTR_Q_SHIFT));
-+ OUT_VIDEO_REG(R500_RS_IP_0, ((0 << R500_RS_IP_TEX_PTR_S_SHIFT) |
-+ (1 << R500_RS_IP_TEX_PTR_T_SHIFT) |
-+ (R500_RS_IP_PTR_K0 << R500_RS_IP_TEX_PTR_R_SHIFT) |
-+ (R500_RS_IP_PTR_K1 << R500_RS_IP_TEX_PTR_Q_SHIFT)));
-+
-+ OUT_VIDEO_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0) | R300_TX_OFFSET_RS(6));
-
+-
- OUT_VIDEO_REG(R300_RS_INST_COUNT, 0);
- OUT_VIDEO_REG(R500_RS_INST_0, R500_RS_INST_TEX_CN_WRITE);
-+ OUT_VIDEO_REG(R500_RS_INST_0, ((0 << R500_RS_INST_TEX_ID_SHIFT) |
-+ R500_RS_INST_TEX_CN_WRITE |
-+ (0 << R500_RS_INST_TEX_ADDR_SHIFT)));
- OUT_VIDEO_REG(R300_US_CONFIG, R500_ZERO_TIMES_ANYTHING_EQUALS_ZERO);
- OUT_VIDEO_REG(R300_US_PIXSIZE, 0);
- OUT_VIDEO_REG(R500_US_FC_CTRL, 0);
+- OUT_VIDEO_REG(R300_US_CONFIG, R500_ZERO_TIMES_ANYTHING_EQUALS_ZERO);
+- OUT_VIDEO_REG(R300_US_PIXSIZE, 0);
+- OUT_VIDEO_REG(R500_US_FC_CTRL, 0);
- OUT_VIDEO_REG(R500_US_CODE_ADDR, R500_US_CODE_START_ADDR(0) | R500_US_CODE_END_ADDR(1));
- OUT_VIDEO_REG(R500_US_CODE_RANGE, R500_US_CODE_RANGE_ADDR(0) | R500_US_CODE_RANGE_SIZE(1));
++
++ /* R300_INST_COUNT_RS - highest RS instruction used */
++ OUT_VIDEO_REG(R300_RS_INST_COUNT, R300_INST_COUNT_RS(0) | R300_TX_OFFSET_RS(6));
++
+ OUT_VIDEO_REG(R500_US_CODE_ADDR, (R500_US_CODE_START_ADDR(0) |
+ R500_US_CODE_END_ADDR(1)));
+ OUT_VIDEO_REG(R500_US_CODE_RANGE, (R500_US_CODE_RANGE_ADDR(0) |
@@ -8546,6 +10691,7 @@
- OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, 0xe4000400);
- OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, 0x00000000);
+
++ /* tex inst */
+ OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, (R500_INST_TYPE_TEX |
+ R500_INST_TEX_SEM_WAIT |
+ R500_INST_RGB_WMASK_R |
@@ -8587,6 +10733,7 @@
- OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, 0x00c0c000);
- OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, 0x20490000);
+
++ /* ALU inst */
+ OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, (R500_INST_TYPE_OUT |
+ R500_INST_TEX_SEM_WAIT |
+ R500_INST_LAST |
@@ -8601,14 +10748,12 @@
+ R500_RGB_ADDR1(0) |
+ R500_RGB_ADDR1_CONST |
+ R500_RGB_ADDR2(0) |
-+ R500_RGB_ADDR2_CONST |
-+ R500_RGB_SRCP_OP_1_MINUS_2RGB0));
++ R500_RGB_ADDR2_CONST));
+ OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, (R500_ALPHA_ADDR0(0) |
+ R500_ALPHA_ADDR1(0) |
+ R500_ALPHA_ADDR1_CONST |
+ R500_ALPHA_ADDR2(0) |
-+ R500_ALPHA_ADDR2_CONST |
-+ R500_ALPHA_SRCP_OP_1_MINUS_2A0));
++ R500_ALPHA_ADDR2_CONST));
+
+ OUT_VIDEO_REG(R500_GA_US_VECTOR_DATA, (R500_ALU_RGB_SEL_A_SRC0 |
+ R500_ALU_RGB_R_SWIZ_A_R |
@@ -8632,50 +10777,56 @@
}
- BEGIN_VIDEO(6);
-- OUT_VIDEO_REG(R300_TX_INVALTAGS, 0);
-- OUT_VIDEO_REG(R300_TX_ENABLE, txenable);
-+ BEGIN_VIDEO(4);
++ BEGIN_VIDEO(5);
+ OUT_VIDEO_REG(R300_TX_INVALTAGS, 0);
+ OUT_VIDEO_REG(R300_TX_ENABLE, txenable);
- OUT_VIDEO_REG(R300_RB3D_COLOROFFSET0, dst_offset);
+@@ -361,8 +413,8 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
OUT_VIDEO_REG(R300_RB3D_COLORPITCH0, colorpitch);
blendcntl = RADEON_SRC_BLEND_GL_ONE | RADEON_DST_BLEND_GL_ZERO;
-- OUT_VIDEO_REG(R300_RB3D_BLENDCNTL, blendcntl);
++ /* no need to enable blending */
+ OUT_VIDEO_REG(R300_RB3D_BLENDCNTL, blendcntl);
- OUT_VIDEO_REG(R300_RB3D_ABLENDCNTL, 0);
-- FINISH_VIDEO();
-+ OUT_VIDEO_REG(R300_RB3D_BLENDCNTL, blendcntl | R300_ALPHA_BLEND_ENABLE | R300_READ_ENABLE);
-
-- BEGIN_VIDEO(1);
- OUT_VIDEO_REG(R300_VAP_VTX_SIZE, VTX_DWORD_COUNT);
FINISH_VIDEO();
-@@ -538,7 +588,7 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
+ BEGIN_VIDEO(1);
+@@ -538,8 +590,8 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE |
(4 << RADEON_CP_VC_CNTL_NUM_SHIFT));
} else {
- if (IS_R300_VARIANT || IS_AVIVO_VARIANT)
+- BEGIN_RING(4 * VTX_DWORD_COUNT + 6);
+ if (IS_R300_3D || IS_R500_3D)
- BEGIN_RING(4 * VTX_DWORD_COUNT + 6);
++ BEGIN_RING(4 * VTX_DWORD_COUNT + 4);
else
BEGIN_RING(4 * VTX_DWORD_COUNT + 2);
-@@ -549,7 +599,7 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
+ OUT_RING(CP_PACKET3(R200_CP_PACKET3_3D_DRAW_IMMD_2,
+@@ -549,8 +601,8 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
(4 << RADEON_CP_VC_CNTL_NUM_SHIFT));
}
#else /* ACCEL_CP */
- if (IS_R300_VARIANT || IS_AVIVO_VARIANT)
+- BEGIN_VIDEO(3 + VTX_DWORD_COUNT * 4);
+ if (IS_R300_3D || IS_R500_3D)
- BEGIN_VIDEO(3 + VTX_DWORD_COUNT * 4);
++ BEGIN_VIDEO(2 + VTX_DWORD_COUNT * 4);
else
BEGIN_VIDEO(1 + VTX_DWORD_COUNT * 4);
-@@ -575,7 +625,7 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
+
+@@ -575,10 +627,9 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
VTX_OUT((float)(dstX + dstw), (float)dstY,
xFixedToFloat(srcTopRight.x) / info->texW[0], xFixedToFloat(srcTopRight.y) / info->texH[0]);
- if (IS_R300_VARIANT || IS_AVIVO_VARIANT) {
-+ if (IS_R300_3D || IS_R500_3D) {
- OUT_VIDEO_REG(R300_RB3D_DSTCACHE_CTLSTAT, R300_DC_FLUSH_3D | R300_DC_FREE_3D);
- OUT_VIDEO_REG(RADEON_WAIT_UNTIL, RADEON_WAIT_3D_IDLECLEAN);
- }
+- OUT_VIDEO_REG(R300_RB3D_DSTCACHE_CTLSTAT, R300_DC_FLUSH_3D | R300_DC_FREE_3D);
+- OUT_VIDEO_REG(RADEON_WAIT_UNTIL, RADEON_WAIT_3D_IDLECLEAN);
+- }
++ if (IS_R300_3D || IS_R500_3D)
++ /* flushing is pipelined, free/finish is not */
++ OUT_VIDEO_REG(R300_RB3D_DSTCACHE_CTLSTAT, R300_DC_FLUSH_3D);
+
+ #ifdef ACCEL_CP
+ ADVANCE_RING();
diff --git a/src/radeon_video.c b/src/radeon_video.c
index 7502e1e..216cd65 100644
--- a/src/radeon_video.c
Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-9/xorg-x11-drv-ati.spec,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- xorg-x11-drv-ati.spec 24 Apr 2008 06:27:05 -0000 1.93
+++ xorg-x11-drv-ati.spec 7 May 2008 00:43:17 -0000 1.94
@@ -5,7 +5,7 @@
Summary: Xorg X11 ati video driver
Name: xorg-x11-drv-ati
Version: 6.8.0
-Release: 12%{?dist}
+Release: 13%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X Hardware Support
@@ -91,6 +91,9 @@
%{_mandir}/man4/radeon.4*
%changelog
+* Wed May 07 2008 Dave Airlie <airlied at redhat.com> 6.8.0-13
+- more upstream fixes for EXA accel + zaphod mode
+
* Thu Apr 24 2008 Dave Airlie <airlied at redhat.com> 6.8.0-12
- not so much faster as kill my Apple MAC DDC - next time do this upstream first
More information about the fedora-extras-commits
mailing list