summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-03-24 01:57:40 +0100
committerMarek Olšák <[email protected]>2017-05-15 13:01:33 +0200
commit8559fa505d5972bbbcca4b90c31da4788162b845 (patch)
treea1afa608e14632369a614f46f00cf81f4009e76e /src
parent7622181cade48d3b389024b6ce3e4e177073964e (diff)
gallium: add flag PIPE_CONTEXT_PREFER_THREADED
State trackers can set this to tell the driver when u_threaded_context is desirable. Reviewed-by: Nicolai Hähnle <[email protected]> Tested-by: Dieter Nützel <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/include/pipe/p_defines.h8
-rw-r--r--src/mesa/state_tracker/st_manager.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 82b9d9c08a4..aafa4f82f5a 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -384,6 +384,14 @@ enum pipe_flush_flags
#define PIPE_CONTEXT_ROBUST_BUFFER_ACCESS (1 << 2)
/**
+ * Prefer threaded pipe_context. It also implies that video codec functions
+ * will not be used. (they will be either no-ops or NULL when threading is
+ * enabled)
+ */
+#define PIPE_CONTEXT_PREFER_THREADED (1 << 3)
+
+
+/**
* Flags for pipe_context::memory_barrier.
*/
#define PIPE_BARRIER_MAPPED_BUFFER (1 << 0)
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
index 41de5967eaa..3178e25a763 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -647,7 +647,7 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi,
struct pipe_context *pipe;
struct gl_config mode;
gl_api api;
- unsigned ctx_flags = 0;
+ unsigned ctx_flags = PIPE_CONTEXT_PREFER_THREADED;
if (!(stapi->profile_mask & (1 << attribs->profile)))
return NULL;