From: Vladimir D. <vo...@mi...> - 2004-12-31 17:28:23
|
One more thing: try this code instead: if (IS_FAMILY_R300(dev_priv)) { BEGIN_RING( 6 ); OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x00000002); OUT_RING_REG(0x4F18, 0x00000001); /* Z cache? */ /* It seems a delay is needed */ OUT_RING( CP_PACKET3( RADEON_CP_NOP, 0 ) ); OUT_RING( 0x0 ); ADVANCE_RING(); } I think the extra NOP packet will produce the necessary delay.. thank you Vladimir Dergachev On Fri, 31 Dec 2004, Peter Zubaj wrote: > Hi, > > I played with it yesterday. > I have x11perf lockups too. And X sometimes crash (simply exits) to > login screen. I use FC3 and then when I do ctrl+alt+F1 (to get to > console) system freezes (few uppers rows are redrawn (maybe by console > text)), but no switch to text mode. > > When I uncomment these rows - then x11perf works (and no more X > crash), but 3D locks as expexted: > > In radeon_cp.c in function radeon_do_cp_idle > > if (IS_FAMILY_R300(dev_priv)) { > BEGIN_RING( 4 ); > > OUT_RING_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0x00000002); > OUT_RING_REG(0x4F18, 0x00000001); /* Z cache? */ > > ADVANCE_RING(); > } > > and in radeon_stat.c in function radeon_cp_dispatch_swap: > > if (IS_FAMILY_R300(dev_priv)) { > /* Make sure the new caches are flushed */ > radeon_do_cp_idle(dev_priv); > } else { > BEGIN_RING(2); > > RADEON_WAIT_UNTIL_3D_IDLE(); > > ADVANCE_RING(); > } > > changed to > > BEGIN_RING(2); > > RADEON_WAIT_UNTIL_3D_IDLE(); > > ADVANCE_RING(); > > Peter Zubaj > > ____________________________________ RAMMSTEIN, 22.02.2005 o 20,00, Bratislava Incheba, Info: 0904 666 363, http://www.xl.sk > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > -- > _______________________________________________ > Dri-devel mailing list > Dri...@li... > https://lists.sourceforge.net/lists/listinfo/dri-devel > |