From: Charmaine Lee Date: Wed, 2 Mar 2016 17:31:58 +0000 (-0800) Subject: svga: add SVGA_3D_CMD_INVALIDATE_GB_SURFACE support X-Git-Tag: upstream/17.1.0~4994 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=76f5f76468225a540c31877bf11fa11d0dcf3225;p=platform%2Fupstream%2Fmesa.git svga: add SVGA_3D_CMD_INVALIDATE_GB_SURFACE support This command will be used in a subsequent patch to invalidate a surface. Reviewed-by: Brian Paul --- diff --git a/src/gallium/drivers/svga/svga_cmd.c b/src/gallium/drivers/svga/svga_cmd.c index ecf2e9d..7b78cb7 100644 --- a/src/gallium/drivers/svga/svga_cmd.c +++ b/src/gallium/drivers/svga/svga_cmd.c @@ -1870,6 +1870,24 @@ SVGA3D_InvalidateGBImagePartial(struct svga_winsys_context *swc, return PIPE_OK; } +enum pipe_error +SVGA3D_InvalidateGBSurface(struct svga_winsys_context *swc, + struct svga_winsys_surface *surface) +{ + SVGA3dCmdInvalidateGBSurface *cmd = + SVGA3D_FIFOReserve(swc, + SVGA_3D_CMD_INVALIDATE_GB_SURFACE, + sizeof *cmd, + 1); /* one relocation */ + if (!cmd) + return PIPE_ERROR_OUT_OF_MEMORY; + + swc->surface_relocation(swc, &cmd->sid, NULL, surface, + SVGA_RELOC_READ | SVGA_RELOC_INTERNAL); + swc->commit(swc); + + return PIPE_OK; +} enum pipe_error SVGA3D_SetGBShaderConstsInline(struct svga_winsys_context *swc, diff --git a/src/gallium/drivers/svga/svga_cmd.h b/src/gallium/drivers/svga/svga_cmd.h index db0f890..cd2cb65 100644 --- a/src/gallium/drivers/svga/svga_cmd.h +++ b/src/gallium/drivers/svga/svga_cmd.h @@ -299,6 +299,10 @@ SVGA3D_InvalidateGBImagePartial(struct svga_winsys_context *swc, const SVGA3dBox *box, bool invertBox); +enum pipe_error +SVGA3D_InvalidateGBSurface(struct svga_winsys_context *swc, + struct svga_winsys_surface *surface); + enum pipe_error SVGA3D_SetGBShaderConstsInline(struct svga_winsys_context *swc,