diff options
author | Bas Nieuwenhuizen <[email protected]> | 2016-04-21 17:37:40 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2016-05-13 07:43:46 +0200 |
commit | ac77fb74a018c37bbc0d42d9d4fafc1b8511ad3f (patch) | |
tree | c0af56baa69188f6b6cce33f5060f1f3a331a277 /src/gallium/drivers/ddebug | |
parent | 22b35122faae0c6907a29876c33240afb345edf1 (diff) |
gallium/ddebug: Implement launch_grid.
Does not implement dumping info.
Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/ddebug')
-rw-r--r-- | src/gallium/drivers/ddebug/dd_draw.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/gallium/drivers/ddebug/dd_draw.c b/src/gallium/drivers/ddebug/dd_draw.c index 45e4e10d500..f0c88879643 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); |