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

Marek Olšák maraeo at gmail.com
Mon Jun 16 16:51:10 PDT 2014


Since LLVM 3.5 will be released in August and my radeon patches adding
ARB_draw_indirect depend on it, I will commit ARB_draw_indirect
support for Gallium with softpipe and llvmpipe support earlier. My
plan is for patches 3,4,5,6 to get committed in one week from now, or
sooner if somebody reviews them.

Marek

On Sat, Apr 26, 2014 at 3:27 PM, Marek Olšák <maraeo at gmail.com> wrote:
> 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