If you move glxgears down below about half of the screen you won't see
anything anymore. Within the top half it looks about the same, although
moving it from left to right can cause parts to appear or disappear.
I'll check the offsets tonight.
On Wed, 1 Dec 2004, Roland Scheidegger wrote:
> Rogier Stam wrote:
> > Ok, to continue on this :) Stephane, you were right. The z buffer
> > clearing causes the problem (or at least part of it). The y direction
> > needs to be multiplied by 4, the x needs to be multiplied by 2. I tried
> > 3 for the y direction also, which seems to reduce the problem to the
> > lower 10-15% of my screen, so i'm wondering if 4x isn't too much. I've
> > also tried increasing the screen size, and the problem seems to be gone
> > (e.g I can run a full screen glxgears seeing everything, although the
> > framerate has dropped from about 1400 to 900... Considering it needs to
> > clear more that would be expected I think). Note that the changes I made
> > were in the radeon_cp_dispatch_clear routine, near line 850. That said,
> > I've noticed several times that if the mouse is moved over a glxgears
> > screen (the moving part of the wheels) the system is liable to hang.
> > This hangup gets less if AGPMode "4" is removed, FastWrite is disabled
> > or page flipping is disabled (note, it gets less e.g it hangs less
> > quick, but it still will hang).
> > This aside, I tested again with nwn, heretic2 and ut2004. Heretic 2
> > seems to be rid of all problems, so that's good I think :). ut2004
> > however is a different matter. Entering the main menu everything looks
> > ok. No problems at all. Entering for example the settings screen and a
> > lot of corruption shows (again, I can make pictures of this if there is
> > interest for it). As for NWN, the main menu seems to look ok, aside from
> > the load button, which isn't completely a rectangle as it should be.
> > Other than that I still have to test more.
> > Any suggestions where next I can look to help solve ?
> Actually, the _number_ of tiles ought to have been correct for
> rv100-based cards (as it's actually the same as in the older version (if
> the full width is cleared)). I think tile _offsets_ though are wrong (I
> know for sure that it's different for r100 than rv250, I just don't know
> about rv100).
> Could you try with playing around with the offsets instead (for instance
> use tileoffset * 32 instead of tileoffset * 16)? Though looking at the
> code I've come up with for r100 and rv250 and looking at the pictures
> you sent me I'm really scratching my head how rv100 handles this. Seems
> to be very different from both versions, and not in a logical way
> neither... I think though I've an explanation for the second glxgears
> window (where the top left part is missing), I suspect that has
> something to do with the 64 pixel alignment the r100 needs (and rv100
> might need too, dunno). What happens if you move glxgears down the
> screen, does it look the same or do more parts vanish?