gallium: add flag PIPE_CONTEXT_PREFER_THREADED
authorMarek Olšák <marek.olsak@amd.com>
Fri, 24 Mar 2017 00:57:40 +0000 (01:57 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 15 May 2017 11:01:33 +0000 (13:01 +0200)
State trackers can set this to tell the driver when u_threaded_context is
desirable.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
src/gallium/include/pipe/p_defines.h
src/mesa/state_tracker/st_manager.c

index 82b9d9c08a4d1fc33e68d27e181fda942f13dfc6..aafa4f82f5abb6bc801268e4eab2a6b9da272764 100644 (file)
@@ -383,6 +383,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.
  */
index 41de5967eaaf60a37bce7979df9e1381b5512aae..3178e25a7634afe0372f89f2f1c8a82a8686aede 100644 (file)
@@ -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;