Am Donnerstag, 11. November 2004 21:39 schrieb Stephane Marchesin:
> Roland Scheidegger wrote:
> > Roland Scheidegger wrote:
> >> In fact, that was already discussed briefly at irc. For now it just
> >> seemed more important to get it working on more cards and fix the
> >> rendering problems than to worry about "minor" issues like multiple
> >> rendering apps :). I did get clearing only the needed tiles working
> >> (minus some off-by-one issues currently) though at least on my rv250
> >> (with a 32x8 z pixel granularity however - for clearing the hardware
> >> seems to work on 8x2 4x4 "macro tiles", it looks like it might be
> >> even possible to get granularity down to 4x4 for clearing, at least
> >> on my card).
> >
> > Ok, here's the version which clears only the required tiles (with a
> > 32x8 z-pixel granularity).
> > Works on rv250. It is almost certain to not work on non-rv cards (see
> > code comments). I don't know if it works on rv100 cards, while the
> > macro-tile size should be identical, the macro-tile shape may be not.
> > Feedback might be helpful, especially if a pattern is visible which
> > tiles are cleared and which not.
> > No new dri patch, use the old one.
> > Problems when only z or stencil buffer is cleared are unchanged (will
> > probably look at it next),
>
> You need to call the standard clear routine when bpp is 32 and the
> visual has a stencil and only one of the stencil or depth is cleared.
> All the other cases can be handled without a fallback.
>
> > as is the problem with stencil/z readback (probably won't look at it
> > soon...).
>
> I'm working on a patch that will merge hyperz and tiling and
> incidentally fix this.
> It'll also take care of disabling hyperz when there are multiple windows.

Let me try on r200 ;-)

Some feedback for Roland's hyperz-dri-7.patch and hyperz-drm-14.patch.
=> rv path on my r200.

First I've change only drm.

--- drm_pciids.txt.r200 2004-11-11 13:10:28.000000000 +0100
+++ drm_pciids.txt      2004-11-11 19:16:58.000000000 +0100
@@ -38,7 +38,7 @@
 0x1002 0x5149 CHIP_R200 "ATI Radeon QI R200"
 0x1002 0x514A CHIP_R200 "ATI Radeon QJ R200"
 0x1002 0x514B CHIP_R200 "ATI Radeon QK R200"
-0x1002 0x514C CHIP_R200 "ATI Radeon QL R200 8500 LE"
+0x1002 0x514C CHIP_R200|CHIP_IS_RV "ATI Radeon QL R200 8500 LE"
 0x1002 0x514D CHIP_R200 "ATI Radeon QM R200 9100"
 0x1002 0x514E CHIP_R200 "ATI Radeon QN R200 8500 LE"
 0x1002 0x514F CHIP_R200 "ATI Radeon QO R200 8500 LE"

--- radeon_state.c.r200 2004-11-11 13:10:28.000000000 +0100
+++ radeon_state.c      2004-11-11 19:22:06.000000000 +0100
@@ -916,7 +916,7 @@

                ADVANCE_RING();

-               if ((!
(dev_priv->flags&CHIP_IS_RV))&&(dev_priv->microcode_version==UCODE_R200))
+               if 
((dev_priv->flags&CHIP_IS_RV)&&(dev_priv->microcode_version==UCODE_R200))
                /* r100 and cards without hierarchical z-buffer have no 
high-level z-buffer */
                {
                        BEGIN_RING( 4 );

"Full" speed and mostly all corruptions fixed, except of the 'black horizontal 
lines'.


Then I've changed

--- src/mesa/drivers/dri/r200/r200_state_init.c.r200    2004-11-10 
14:53:54.000000000 +0100
+++ src/mesa/drivers/dri/r200/r200_state_init.c 2004-11-11 19:08:06.621588463 
+0100
@@ -466,8 +466,8 @@
    if (rmesa->using_hyperz) {
       rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] |= RADEON_Z_COMPRESSION_ENABLE 
|
                                                  RADEON_Z_DECOMPRESSION_ENABLE;
-      if (rmesa->r200Screen->chipset & R200_CHIPSET_REAL_R200)
-        rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] |= 
RADEON_Z_HIERARCHY_ENABLE;
+/*      if (rmesa->r200Screen->chipset & R200_CHIPSET_REAL_R200)
+        rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] |= 
RADEON_Z_HIERARCHY_ENABLE;*/
    }

    rmesa->hw.ctx.cmd[CTX_PP_CNTL] = (R200_ANTI_ALIAS_NONE

=>
* NO 'black horizontal lines' anylonger. - GREAT
* but some speed regression, of course
* Roland's depth/stencil problem with doom3-demo (_same_ pattern) 

> > Here is a picture of depth/stencil problems in nwn:
> > http://homepage.hispeed.ch/rscheidegger/dri_experimental/nwn_hyperz.png
> > - I do not really know if this is caused by this clearing problem
> > (warning, 1MB picture), but it definitely looks like a z-buffer problem.
> > Stencil/Depth readback still don't work.

* quake3-smp at ~170 fps (down from ~206 with r2xx bugs)

-Dieter


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to