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