I don't feel strongly about it anyway. Can always change it later. Jose
----- Original Message ----- > On 04.04.2013 21:53, Christoph Bumiller wrote: > > On 04.04.2013 21:44, Jose Fonseca wrote: > >> I think that PIPE_BIND_INDIRECT_BUFFER would be more self-descriptive. > > Marek suggested PIPE_BIND_DRAW_INDIRECT_BUFFER, but I think that's too > specific because there's also a DISPATCH_INDIRECT buffer for compute > shaders. > > And just "INDIRECT_BUFFER" without the _DRAW_ doesn't seem so > self-descriptive if you're not thinking in the right context. > > I'd like to stick with BIND_COMMAND_BUFFER, or maybe > BIND_COMMAND_ARGS_BUFFER ... > > >> 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 > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev