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