[Mesa-dev] Dispatch table question: VBO

Rogovin, Kevin kevin.rogovin at intel.com
Tue Oct 1 02:48:50 PDT 2013


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: main.doxy_text
Type: application/octet-stream
Size: 8530 bytes
Desc: main.doxy_text
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131001/539d8d53/attachment-0001.obj>


More information about the mesa-dev mailing list