On 04.04.2013 21:44, Jose Fonseca wrote: > I think that PIPE_BIND_INDIRECT_BUFFER would be more self-descriptive. > > Or do you envision other uses of such buffer?
It's possible that at some point we add a mechanism to let the driver store arbitrary commands into a buffer created by the st, or have resources used as arguments conditional rendering ... Lost of possiblities, but nothing concrete, and for the command lists like with D3D's deferred contexts we'd probably return opaque objects that can contain more auxiliary data. I like it to be more generic, but then it could turn out that there be different requirements on these "command source" buffers in the future ... I'm undecided now. > > Jose > > ----- Original Message ----- >> 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 | 2 ++ >> src/gallium/include/pipe/p_defines.h | 1 + >> 2 files changed, 3 insertions(+), 0 deletions(-) >> >> diff --git a/src/gallium/docs/source/screen.rst >> b/src/gallium/docs/source/screen.rst >> index c1a3c0b..f8cdded 100644 >> --- a/src/gallium/docs/source/screen.rst >> +++ b/src/gallium/docs/source/screen.rst >> @@ -306,6 +306,8 @@ 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_BUFFER``: A buffer or that may be sourced by the >> + GPU command processor, like with indirect drawing. >> >> .. _pipe_usage: >> >> diff --git a/src/gallium/include/pipe/p_defines.h >> b/src/gallium/include/pipe/p_defines.h >> index 5b00acc..2b79f2a 100644 >> --- a/src/gallium/include/pipe/p_defines.h >> +++ b/src/gallium/include/pipe/p_defines.h >> @@ -315,6 +315,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_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.7.3.4 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev