summaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-02-05 01:20:51 +0100
committerTimothy Arceri <[email protected]>2017-03-16 14:14:19 +1100
commitc83562ccaa5f4bd42f4f59c519b48faeb295e354 (patch)
treed997283ca998e8c737bcd667dde3acd3e03d0dfa /src/gallium/include
parent93bdad3253cfa353cadf4444711c70f39e9baf09 (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.h19
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);
};
/**