On Tue, 3 Dec 2002, Ian Romanick wrote:

> Unless there are any objections, I'm going to commit a merge from the trunk
> to the texmem-0-0-1 branch tomorrow (Wednesday).  I've tested the merge on
> the R100, and I'll test it on an M6 and a G400 before I commit it.

That's fine by me.  FYI, I've started trying to debug r128 in the texmem
branch.  I've found some problems, but am still experiencing texture
corruption.  The first problem I found is in the switch/case at
r128_texmem.c:281 (r128UploadTexImages()).  Since the uploading of
textures was moved from r128EmitHwStateLocked() to functions called from
r128UpdateTextureState(), a texture isn't marked as bound until _after_
it's uploaded, so the default case was being hit (with t->base.bound ==
0).

Another problem I found is that r128DDBindTexture no longer sets the 
R128_NEW_TEXTURE flag, and this prevents the texture state from being 
updated when an app switches textures.  For example: running tunnel, I get 
the floor texture on the walls, but if I set R128_NEW_TEXTURE in 
r128DDBindTexture, the wall textures and floor textures appear in the 
right places.  How do the radeon/r200 drivers work without setting the 
NEW_TEXTURE flag there?  Also, shouldn't it unbind the texture currently 
bound to that texture unit?

One other thing I noticed is that R128_NEW_TEXTURE is being set in
disable_tex() and update_tex_common() in r128_texstate.c.  This shouldn't
be necessary, in fact it causes the texture state to be repeatedly updated
when there haven't been any actual state changes (I saw that happening in
multiarb, e.g.).  Marking the context and texture registers for upload
should be enough.  Only the texture functions in r128_tex.c (texture
image, env mode, parameter, etc. changes) and enabling/disabling of
texturing in r128_state.c need to cause an update of the texture state.

I'll keep digging...

--
Leif Delgass 
http://www.retinalburn.net




-------------------------------------------------------
This SF.net email is sponsored by: Microsoft Visual Studio.NET 
comprehensive development tool, built to increase your 
productivity. Try a free online hosted session at:
http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to