瀏覽代碼

svga: simplify failure code in emit_rss_vgpu9()

No need for a goto.

Reviewed-by: Neha Bhende <bhenden@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
tags/18.0-branchpoint
Brian Paul 7 年之前
父節點
當前提交
bb951d45f2
共有 1 個檔案被更改,包括 12 行新增17 行删除
  1. 12
    17
      src/gallium/drivers/svga/svga_state_rss.c

+ 12
- 17
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;
}



Loading…
取消
儲存