diff options
author | Marek Olšák <[email protected]> | 2017-02-05 01:20:51 +0100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-03-16 14:14:19 +1100 |
commit | c83562ccaa5f4bd42f4f59c519b48faeb295e354 (patch) | |
tree | d997283ca998e8c737bcd667dde3acd3e03d0dfa /src/gallium/include | |
parent | 93bdad3253cfa353cadf4444711c70f39e9baf09 (diff) |
gallium: implement the backend of threaded GL dispatch
Acked-by: Timothy Arceri <[email protected]>
Tested-by: Dieter Nützel <[email protected]>
Tested-by: Mike Lothian <[email protected]>
Diffstat (limited to 'src/gallium/include')
-rw-r--r-- | src/gallium/include/state_tracker/st_api.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index a9997744cde..bf9a7e95d7c 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -417,6 +417,19 @@ struct st_context_iface */ boolean (*get_resource_for_egl_image)(struct st_context_iface *stctxi, struct st_context_resource *stres); + + /** + * Start the thread if the API has a worker thread. + * Called after the context has been created and fully initialized on both + * sides (e.g. st/mesa and st/dri). + */ + void (*start_thread)(struct st_context_iface *stctxi); + + /** + * If the API is multithreaded, wait for all queued commands to complete. + * Called from the main thread. + */ + void (*thread_finish)(struct st_context_iface *stctxi); }; @@ -454,6 +467,12 @@ struct st_manager */ int (*get_param)(struct st_manager *smapi, enum st_manager_param param); + + /** + * Call the loader function setBackgroundContext. Called from the worker + * thread. + */ + void (*set_background_context)(struct st_context_iface *stctxi); }; /** |