On Sat, 30 Nov 2002 23:32:06 +0100
Felix Kühling <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> while I was trying to understand the vtxfmt mesa code and poking around
> with gdb I noticed that the neutral vtxfmt wrapper gets restored quite
> often. I tracked it to radeonFlushVertices where
> _mesa_install_exec_vtxfmt( ctx, &rmesa->vb.vtxfmt ) is called if the
> FLUSH_UPDATE_CURRENT flag is set. _mesa_install_exec_vtxfmt in turn sets
> ctx->TnlModule.Current to the new exec vertex format and calls
> _mesa_restore_exec_vtxfmt( ctx ) which restores the neutral wrapper. Is
> this really what was intended here?
>
> The only place I could find where the FLUSH_UPDATE_CURRENT flag is set
> in the radeon driver is in radeon_vtxfmt_c.c and there the Exec dispatch
> table is modified directly. So there should be no need for reinstalling
> the vertex format.

In radeon_vtxfmt_c.c (choose_* functions) state specific code is
generated on the fly and plugged into the dispatch table. When the state
changes the dispatch table has to be restored. But it seems that
_mesa_install_exec_vtxfmt does more than necessary. Any static vtxfmt
functions could remain in the dispatch table. And would it not be
sufficient to put the choose_* functions back into the dispatch table
instead of the neutral_* ones.

Felix

               __\|/__    ___     ___     ___
__Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
_____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
  [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!


-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T 
handheld. Power & Color in a compact size! 
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to