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.

Attachment: main.doxy_text
Description: main.doxy_text

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to