http://bugs.freedesktop.org/show_bug.cgi?id=15730





--- Comment #3 from Ove Kaaven <[EMAIL PROTECTED]>  2008-04-28 13:08:36 PST ---
Well, I think I have some idea what might be going on.

With SW TCL, the vertices aren't processed before flush_last_swtcl_prim is
called. It calls r200EmitVbufPrim, which calls r200EmitState. r200EmitState
goes through the list of dirty states, one of which should be tex[0]. Before
putting its state into the cmd buffer, though, it calls check_tex (from
r200_state_init.c: CHECK( tex, rmesa->state.texture.unit[idx].unitneeded )) to
see whether it's really necessary. Since unitneeded has already been set to
zero, it decides not to.

Seems to me r200UpdateAllTexEnv would clear unitneeded, and the
R200_STATE_CHANGE (that calls flush_last_swtcl_prim if needed) is done
afterwards, resulting in a missing texture state update prior to rendering the
vertices waiting for SW-TCL processing. (I could also be wrong, though, I might
have to study this stuff deeper.)

Not entirely sure how best to fix. Putting a R200_NEWPRIM(rmesa) at the top of
r200UpdateAllTexEnv solves the problem, but is probably not optimal?


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to