mesa: Add SetBackgroundContext to dd_function_table

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:
Paul Berry 2012-11-14 14:26:22 -08:00 committed by Timothy Arceri
parent 5bc527d39d
commit 77630841da
2 changed files with 21 additions and 0 deletions

View file

@ -201,6 +201,9 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
/* GL_ARB_texture_multisample */
driver->GetSamplePosition = NULL;
/* Multithreading */
driver->SetBackgroundContext = NULL;
}

View file

@ -1025,6 +1025,24 @@ struct dd_function_table {
*/
void (*QueryMemoryInfo)(struct gl_context *ctx,
struct gl_memory_info *info);
/**
* Indicate that this thread is being used by Mesa as a background drawing
* thread for the given GL context.
*
* If this function is called more than once from any given thread, each
* subsequent call overrides the context that was passed in the previous
* call. Mesa takes advantage of this to re-use a background thread to
* perform drawing on behalf of multiple contexts.
*
* Mesa may sometimes call this function from a non-background thread
* (i.e. a thread that has already been bound to a context using
* __DriverAPIRec::MakeCurrent()); when this happens, ctx will be equal to
* the context that is bound to this thread.
*
* Mesa will only call this function if GL multithreading is enabled.
*/
void (*SetBackgroundContext)(struct gl_context *ctx);
};