Lines Matching full:dispatch

5   <title>GL Dispatch in Mesa</title>
9 <h1>GL Dispatch in Mesa</h1>
11 <p>Several factors combine to make efficient dispatch of OpenGL functions
14 with the issues around GL dispatch can safely skip ahead to the <a
17 <h2>1. Complexity of GL Dispatch</h2>
32 <p>This creates the first bit of dispatch complexity. An application can
54 address of the <em>dispatch table</em> associated with that context. The
55 dispatch table stores pointers to functions that actually implement
63 <li>Fetch the current dispatch table pointer.</li>
77 const struct _glapi_table * const dispatch = GET_DISPATCH();
79 (*dispatch-&gt;Vertex3f)(x, y, z);
81 <tr><td>Sample dispatch function</td></tr></table>
95 performance hit imposed by GL dispatch. This section describes these
99 <h3>3.1. Dual dispatch table pointers</h3>
108 <p>Each time a new dispatch table is set, Mesa examines and records the ID
113 the dispatch table in a global variable called <tt>_glapi_Dispatch</tt>.
118 <p>Using this simple mechanism the dispatch functions can detect the
138 extensions to GCC. By storing the dispatch table pointer in this area, the
142 <p>The dispatch table pointer is stored in a new variable called
162 the default dispatch method.</p>
164 <h3>3.3. Assembly Language Dispatch Stubs</h3>
167 dispatch stubs. Platforms like x86 that pass parameters on the stack seem
168 to have even more difficulty optimizing these routines. All of the dispatch
176 ways that the dispatch table pointer can be accessed. There are four
195 <p>Selection of the dispatch table pointer access method is controlled by a
220 (i.e., addition of a new dispatch table pointer access method) require fewer
246 dispatch functions from being built.</p>
248 <h3 id="fixedsize">3.4. Fixed-Length Dispatch Stubs</h3>
259 calculated by multiplying the size of the dispatch stub by the offset of the
261 dispatch stub.</p>
267 <h2 id="autogen">4. Automatic Generation of Dispatch Stubs</h2>