Mesa (master): gallium: add flag PIPE_CONTEXT_PREFER_THREADED

Marek Olšák mareko at kemper.freedesktop.org
Mon May 15 11:05:22 UTC 2017


Module: Mesa
Branch: master
Commit: 8559fa505d5972bbbcca4b90c31da4788162b845
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8559fa505d5972bbbcca4b90c31da4788162b845

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Mar 24 01:57:40 2017 +0100

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 <nicolai.haehnle at amd.com>
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>

---

 src/gallium/include/pipe/p_defines.h | 8 ++++++++
 src/mesa/state_tracker/st_manager.c  | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 82b9d9c08a..aafa4f82f5 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 41de5967ea..3178e25a76 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;




More information about the mesa-commit mailing list