I don't know if this really matters or not, but I managed to answer my question:
> for i965, there is a chain of calls so that _mesa_install_exec_vtxfmt() is > called at context creation, which sets both Exec and BeginEnd (for compatibility profiles) to the value as found in vbo_context#exec. The initial value of CurrentDispatch is OutsideBeginEnd, atleast afaik set in _mesa_initialize_context(). Thus I see that after a glBegin, CurrentDispatch is set to BeginEnd and after glEnd(), CurrentDispatch is set to OutsideBeginEnd, which I cannot track down where it is populated with something besides no-op functions... what am I missing? The punchline is that Exec is set as the same _value_ as OutsideBeginEnd, thus points to the same table. Essentially, OutsideBeginEnd and Exec are aliases to each other. I've written up some text on some of the mechanics of the dispatch table stuff which is attached in the current WIP for documenting/categorizing of src/mesa/main, attached as main.doxy_text. I am not 100% sure it is correct, as such if anyone would read it and find errors or verify its correctness I would really appreciate that.
main.doxy_text
Description: main.doxy_text
_______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
