[Mesa-dev] [PATCH 3/3] gallium/ddebug: Implement launch_grid.
Bas Nieuwenhuizen
bas at basnieuwenhuizen.nl
Thu Apr 21 18:06:34 UTC 2016
On Thu, Apr 21, 2016 at 8:03 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> On 21.04.2016 10:42, Bas Nieuwenhuizen wrote:
>>
>> Does not implement dumping info.
>
>
> Why not?
I primarily wrote this series to make ddebug not crash when used with
compute, so I
haven't really looked at what It should dump.
- Bas
>
>
>>
>> Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>> ---
>> src/gallium/drivers/ddebug/dd_draw.c | 29 +++++++++++++++++++++++++++++
>> 1 file changed, 29 insertions(+)
>>
>> diff --git a/src/gallium/drivers/ddebug/dd_draw.c
>> b/src/gallium/drivers/ddebug/dd_draw.c
>> index 45e4e10..f0c8887 100644
>> --- a/src/gallium/drivers/ddebug/dd_draw.c
>> +++ b/src/gallium/drivers/ddebug/dd_draw.c
>> @@ -35,6 +35,7 @@
>> enum call_type
>> {
>> CALL_DRAW_VBO,
>> + CALL_LAUNCH_GRID,
>> CALL_RESOURCE_COPY_REGION,
>> CALL_BLIT,
>> CALL_FLUSH_RESOURCE,
>> @@ -77,6 +78,7 @@ struct dd_call
>>
>> union {
>> struct pipe_draw_info draw_vbo;
>> + struct pipe_grid_info launch_grid;
>> struct call_resource_copy_region resource_copy_region;
>> struct pipe_blit_info blit;
>> struct pipe_resource *flush_resource;
>> @@ -372,6 +374,13 @@ dd_dump_draw_vbo(struct dd_context *dctx, struct
>> pipe_draw_info *info, FILE *f)
>> }
>>
>> static void
>> +dd_dump_launch_grid(struct dd_context *dctx, struct pipe_grid_info *info,
>> FILE *f)
>> +{
>> + fprintf(f, "%s:\n", __func__+8);
>> + /* TODO */
>> +}
>> +
>> +static void
>> dd_dump_resource_copy_region(struct dd_context *dctx,
>> struct call_resource_copy_region *info,
>> FILE *f)
>> @@ -485,6 +494,9 @@ dd_dump_call(struct dd_context *dctx, struct dd_call
>> *call, unsigned flags)
>> case CALL_DRAW_VBO:
>> dd_dump_draw_vbo(dctx, &call->info.draw_vbo, f);
>> break;
>> + case CALL_LAUNCH_GRID:
>> + dd_dump_launch_grid(dctx, &call->info.launch_grid, f);
>> + break;
>> case CALL_RESOURCE_COPY_REGION:
>> dd_dump_resource_copy_region(dctx,
>> &call->info.resource_copy_region, f);
>> break;
>> @@ -649,6 +661,22 @@ dd_context_draw_vbo(struct pipe_context *_pipe,
>> }
>>
>> static void
>> +dd_context_launch_grid(struct pipe_context *_pipe,
>> + const struct pipe_grid_info *info)
>> +{
>> + struct dd_context *dctx = dd_context(_pipe);
>> + struct pipe_context *pipe = dctx->pipe;
>> + struct dd_call call;
>> +
>> + call.type = CALL_LAUNCH_GRID;
>> + call.info.launch_grid = *info;
>> +
>> + dd_before_draw(dctx);
>> + pipe->launch_grid(pipe, info);
>> + dd_after_draw(dctx, &call);
>> +}
>> +
>> +static void
>> dd_context_resource_copy_region(struct pipe_context *_pipe,
>> struct pipe_resource *dst, unsigned
>> dst_level,
>> unsigned dstx, unsigned dsty, unsigned
>> dstz,
>> @@ -789,6 +817,7 @@ dd_init_draw_functions(struct dd_context *dctx)
>> {
>> CTX_INIT(flush);
>> CTX_INIT(draw_vbo);
>> + CTX_INIT(launch_grid);
>> CTX_INIT(resource_copy_region);
>> CTX_INIT(blit);
>> CTX_INIT(clear);
>>
>
More information about the mesa-dev
mailing list