From: Brian Paul Date: Fri, 29 Dec 2017 17:03:43 +0000 (-0700) Subject: svga: simplify failure code in emit_rss_vgpu9() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bb951d45f23f29310b8f2edc395a8b774f9e1ab9;p=mesa.git svga: simplify failure code in emit_rss_vgpu9() No need for a goto. Reviewed-by: Neha Bhende Reviewed-by: Charmaine Lee --- diff --git a/src/gallium/drivers/svga/svga_state_rss.c b/src/gallium/drivers/svga/svga_state_rss.c index 515155d3ae8..0cf8be8efbd 100644 --- a/src/gallium/drivers/svga/svga_state_rss.c +++ b/src/gallium/drivers/svga/svga_state_rss.c @@ -275,29 +275,24 @@ emit_rss_vgpu9(struct svga_context *svga, unsigned dirty) if (queue.rs_count) { SVGA3dRenderState *rs; - if (SVGA3D_BeginSetRenderState(svga->swc, - &rs, - queue.rs_count) != PIPE_OK) - goto fail; + if (SVGA3D_BeginSetRenderState(svga->swc, &rs, queue.rs_count) + != PIPE_OK) { + /* XXX: need to poison cached hardware state on failure to ensure + * dirty state gets re-emitted. Fix this by re-instating partial + * FIFOCommit command and only updating cached hw state once the + * initial allocation has succeeded. + */ + memset(svga->state.hw_draw.rs, 0xcd, sizeof(svga->state.hw_draw.rs)); + + return PIPE_ERROR_OUT_OF_MEMORY; + } - memcpy(rs, - queue.rs, - queue.rs_count * sizeof queue.rs[0]); + memcpy(rs, queue.rs, queue.rs_count * sizeof queue.rs[0]); SVGA_FIFOCommitAll(svga->swc); } return PIPE_OK; - -fail: - /* XXX: need to poison cached hardware state on failure to ensure - * dirty state gets re-emitted. Fix this by re-instating partial - * FIFOCommit command and only updating cached hw state once the - * initial allocation has succeeded. - */ - memset(svga->state.hw_draw.rs, 0xcd, sizeof(svga->state.hw_draw.rs)); - - return PIPE_ERROR_OUT_OF_MEMORY; }