[Mesa-dev] [PATCH 4/4] i965/cs: Implement DispatchComputeIndirect support

Matt Turner mattst88 at gmail.com
Tue Sep 22 17:05:34 PDT 2015


On Sat, Sep 19, 2015 at 3:50 PM, Jordan Justen
<jordan.l.justen at intel.com> wrote:
> Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
> ---
>  src/mesa/drivers/dri/i965/brw_compute.c | 57 ++++++++++++++++++++++++++++++---
>  src/mesa/drivers/dri/i965/brw_defines.h |  2 ++
>  src/mesa/drivers/dri/i965/intel_reg.h   |  5 +++
>  3 files changed, 60 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_compute.c b/src/mesa/drivers/dri/i965/brw_compute.c
> index 5693ab5..5641823 100644
> --- a/src/mesa/drivers/dri/i965/brw_compute.c
> +++ b/src/mesa/drivers/dri/i965/brw_compute.c
> @@ -31,14 +31,46 @@
>  #include "brw_draw.h"
>  #include "brw_state.h"
>  #include "intel_batchbuffer.h"
> +#include "intel_buffer_objects.h"
>  #include "brw_defines.h"
>
>
>  static void
> -brw_emit_gpgpu_walker(struct brw_context *brw, const GLuint *num_groups)
> +brw_emit_gpgpu_walker(struct brw_context *brw,
> +                      const void *compute_param,
> +                      bool indirect)
>  {
>     const struct brw_cs_prog_data *prog_data = brw->cs.prog_data;
>
> +   const GLuint *num_groups;
> +   uint32_t indirect_flag;
> +
> +   if (!indirect) {
> +      num_groups = (const GLuint *)compute_param;
> +      indirect_flag = 0;
> +   } else {
> +      GLintptr indirect_offset = *(GLintptr*)compute_param;

"GLintptr *" (space between type and *)


More information about the mesa-dev mailing list