[Mesa-dev] [PATCH 3/9] gallium: add PIPE_BIND_COMMAND_ARGS_BUFFER

Marek Olšák maraeo at gmail.com
Sat Apr 26 06:27:36 PDT 2014


From: Christoph Bumiller <e0425955 at student.tuwien.ac.at>

Intended for use with GL_ARB_draw_indirect's DRAW_INDIRECT_BUFFER
target or for D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS.
---
 src/gallium/docs/source/screen.rst   | 3 +++
 src/gallium/include/pipe/p_defines.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index 89cbdbf..65885b9 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -354,6 +354,9 @@ resources might be created and handled quite differently.
   bound to the graphics pipeline as a shader resource.
 * ``PIPE_BIND_COMPUTE_RESOURCE``: A buffer or texture that can be
   bound to the compute program as a shader resource.
+* ``PIPE_BIND_COMMAND_ARGS_BUFFER``: A buffer that may be sourced by the
+  GPU command processor. It can contain, for example, the arguments to
+  indirect draw calls.
 
 .. _pipe_usage:
 
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index a3a1ae1..4d5d833 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -350,6 +350,7 @@ enum pipe_flush_flags {
 #define PIPE_BIND_GLOBAL               (1 << 18) /* set_global_binding */
 #define PIPE_BIND_SHADER_RESOURCE      (1 << 19) /* set_shader_resources */
 #define PIPE_BIND_COMPUTE_RESOURCE     (1 << 20) /* set_compute_resources */
+#define PIPE_BIND_COMMAND_ARGS_BUFFER  (1 << 21) /* pipe_draw_info.indirect */
 
 /* The first two flags above were previously part of the amorphous
  * TEXTURE_USAGE, most of which are now descriptions of the ways a
-- 
1.8.3.2



More information about the mesa-dev mailing list