From 1258f907f4f8371391ad7e30ae7365c223203a97 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 29 Feb 2016 14:25:09 -0700 Subject: [PATCH] svga: add new svga_winsys_context::get_command_buffer_size() To ask how large the current command buffer is. Will be used for a new GALLIUM_HUD graph. Reviewed-by: Charmaine Lee --- src/gallium/drivers/svga/svga_winsys.h | 6 ++++++ src/gallium/winsys/svga/drm/vmw_context.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/src/gallium/drivers/svga/svga_winsys.h b/src/gallium/drivers/svga/svga_winsys.h index 562c6690fc1..0ad6b5e6c76 100644 --- a/src/gallium/drivers/svga/svga_winsys.h +++ b/src/gallium/drivers/svga/svga_winsys.h @@ -107,6 +107,12 @@ struct svga_winsys_context (*reserve)(struct svga_winsys_context *swc, uint32_t nr_bytes, uint32_t nr_relocs ); + /** + * Returns current size of command buffer, in bytes. + */ + unsigned + (*get_command_buffer_size)(struct svga_winsys_context *swc); + /** * Emit a relocation for a host surface. * diff --git a/src/gallium/winsys/svga/drm/vmw_context.c b/src/gallium/winsys/svga/drm/vmw_context.c index dae121e4053..8d23bff5d74 100644 --- a/src/gallium/winsys/svga/drm/vmw_context.c +++ b/src/gallium/winsys/svga/drm/vmw_context.c @@ -315,6 +315,13 @@ vmw_swc_reserve(struct svga_winsys_context *swc, return vswc->command.buffer + vswc->command.used; } +static unsigned +vmw_swc_get_command_buffer_size(struct svga_winsys_context *swc) +{ + const struct vmw_svga_winsys_context *vswc = vmw_svga_winsys_context(swc); + return vswc->command.used; +} + static void vmw_swc_context_relocation(struct svga_winsys_context *swc, uint32 *cid) @@ -761,6 +768,7 @@ vmw_svga_winsys_context_create(struct svga_winsys_screen *sws) vswc->base.destroy = vmw_swc_destroy; vswc->base.reserve = vmw_swc_reserve; + vswc->base.get_command_buffer_size = vmw_swc_get_command_buffer_size; vswc->base.surface_relocation = vmw_swc_surface_relocation; vswc->base.region_relocation = vmw_swc_region_relocation; vswc->base.mob_relocation = vmw_swc_mob_relocation; -- 2.30.2