Dieter Nützel wrote:

True for DoomIII, but who can switch the lights ON, finally...? ;-)

That is some weird texcoord problem. (I actually have a one-line workaround for that, which breaks submitting texgen and non-texgen coordinates at the same time more or less completely).


Let me test.
Attached. I've also included the 2nd one-liner in this patch, don't know
if it changes anything with doom3 (but using swtcl fallback for
gl_sphere_map is very problematic at least in nwn).

'Zooming' a 3D VTK prog from the upper left corner into a bigger window in the desktop middle show missing z/buffer clearing/redraw.

Was OK before.

Hmm, do you have a screenshot of that (or preferably more than one, I'm interested what happens when you move the window from top-left to top-right, bottom-left and bottom-right)?


No zoom, then nothing.
So if you only move the window, everything is ok? That's weird.

After zoom only the lower, left part of the window would be redrawn right. In all places.

See our domain ;-)

http://www.nuetzel-hh.de/public
Looks like if you zoom the window, someone forgets to tell the driver
the new window size. Are you sure this is caused by hyperz, i.e. if you
use hyperz=false it still is wrong?
I'm wondering if it could be ddx-related (you're still using XFree86
4.3.99 something, right?)

Should I play with the clearmask, again?

No, not unless you're serious about implementing a real hierarchical-z solution.


Maybe I'm somewhat unclear, here.

I mean this one:

--- radeon_state.c.orig 2004-11-11 22:08:37.000000000 +0100 +++ radeon_state.c.aktuell 2004-11-13 14:08:32.000000000 +0100 @@ -894,7 +894,8 @@ } else { /* FIXME : reverse engineer that for Rx00 cards */ - clearmask = (0xff<<22)|(0xff<<6)| 0x003f003f; + /* clearmask = (0xff<<22)|(0xff<<6)| 0x003f003f; */ + clearmask = 0x0;

Well, with the new patch the clearmask used is always 0 (values other than 0 make afaik only sense for hyperz).


[Bug 2010] New: depth and stencil readback are broken beyond x >
1023 Fix do not show any changes. zreaddraw is corrupted even with screen redraw.

Do you mean with hyperz?


Of course ;-)


That's to be expected (at least for now). That bug 2010 depth readback problem is meant for cases without hyperz.


I see.
It definitely is a problem, but for now it is an expected one :-).


Have a look into SPECViewperf 7.1.2/8.0.1 _ugs_, too. Depth is mostly broken there, too.

Works perfect (though slow as always...) for me (7.1). Screenshot?


With and without hyperz. (maybe unrelated).
If it is also without hyperz then it most likely is unrelated.

Depth and clear (?) is broken. http://www.nuetzel-hh.de/public/ugs02QualityFull.png
I'm not quite sure what this picture should look like, I don't have one
with that name.

http://www.nuetzel-hh.de/public/ugs03Full.png
Looks somewhat wrong. I definitely get a different ugs03Full.png - or is
that a 8.0 pic?

E.g. depth would be wrapped on 'big' desktops (1280x1024x24/32). http://www.nuetzel-hh.de/public/ugs06Full-depth.png
That is indeed most certainly bug 2010 (i.e. it's only wrapped when read back).

With viewperf-smp I get mostly empty/black windows with ugsXXX.

btw are you using pageflip? I couldn't get correct screenshots with viewperf with it enabled, though I haven't tried for a while.

Roland

Index: r200_texstate.c
===================================================================
RCS file: /cvs/mesa/Mesa/src/mesa/drivers/dri/r200/r200_texstate.c,v
retrieving revision 1.18
diff -u -r1.18 r200_texstate.c
--- r200_texstate.c     18 Oct 2004 00:00:41 -0000      1.18
+++ r200_texstate.c     7 Dec 2004 23:00:16 -0000
@@ -984,10 +984,12 @@
       rmesa->TexGenNeedNormals[unit] = GL_TRUE;
       tgi |= R200_TEXGEN_INPUT_SPHERE<<inputshift;
       /* GL_SPHERE_MAP doesn't appear to work. */
-      return GL_FALSE;
+/*      return GL_FALSE;*/
 
    case 0:
       /* All texgen units were disabled, so just pass coords through. */
+      /* CHECK THIS it should not be necessary I believe
+        (since all coords should be masked by tgcm), but it is!!! */
       tgi |= unit << inputshift;
       break;
 
@@ -999,7 +1001,7 @@
                 texUnit->GenModeS);
       return GL_FALSE;
    }
-
+   tgcm = 0;
    rmesa->TexGenEnabled |= R200_TEXGEN_TEXMAT_0_ENABLE << unit;
    rmesa->TexGenCompSel |= R200_OUTPUT_TEX_0 << unit;
 

Reply via email to