mesa: Create pointers for multithread marshalling dispatch table.
This patch splits the context's CurrentDispatch pointer into two pointers, CurrentClientDispatch, and CurrentServerDispatch, so that when doing multithread marshalling, we can distinguish between the dispatch table that's being used by the client (to serialize GL calls into the marshal buffer) and the dispatch table that's being used by the server (to execute the GL calls). Acked-by: Timothy Arceri <tarceri@itsqueeze.com> Acked-by: Marek Olšák <maraeo@gmail.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Tested-by: Mike Lothian <mike@fireburn.co.uk>
This commit is contained in:
committed by
Timothy Arceri
parent
d8d81fbc31
commit
ef30ce97a6
@@ -133,11 +133,11 @@ class PrintGlOffsets(gl_XML.gl_print_base):
|
||||
* #define KEYWORD1
|
||||
* #define KEYWORD2
|
||||
* #define NAME(func) gl##func
|
||||
* #define DISPATCH(func, args, msg) \\
|
||||
* struct _glapi_table *dispatch = CurrentDispatch; \\
|
||||
* #define DISPATCH(func, args, msg) \\
|
||||
* struct _glapi_table *dispatch = CurrentClientDispatch; \\
|
||||
* (*dispatch->func) args
|
||||
* #define RETURN DISPATCH(func, args, msg) \\
|
||||
* struct _glapi_table *dispatch = CurrentDispatch; \\
|
||||
* #define RETURN DISPATCH(func, args, msg) \\
|
||||
* struct _glapi_table *dispatch = CurrentClientDispatch; \\
|
||||
* return (*dispatch->func) args
|
||||
*
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user