Module: Mesa Branch: master Commit: 04e278f79334c36f2afa315d3dcfcbec055a4d2a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=04e278f79334c36f2afa315d3dcfcbec055a4d2a
Author: Lepton Wu <[email protected]> Date: Mon Jul 16 18:56:32 2018 -0700 virgl: Fix flush in virgl_encoder_inline_write. The current code is buggy: if there are only 12 dwords left in cbuf, we emit a zero data length command which will be rejected by virglrenderer. Fix it by calling flush in this case. Cc: [email protected] Reviewed-by: Dave Airlie <[email protected]> --- src/gallium/drivers/virgl/virgl_encode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/virgl/virgl_encode.c b/src/gallium/drivers/virgl/virgl_encode.c index c7c6b1e7d3..c1af01b6fd 100644 --- a/src/gallium/drivers/virgl/virgl_encode.c +++ b/src/gallium/drivers/virgl/virgl_encode.c @@ -528,7 +528,7 @@ int virgl_encoder_inline_write(struct virgl_context *ctx, left_bytes = size; while (left_bytes) { - if (ctx->cbuf->cdw + 12 > VIRGL_MAX_CMDBUF_DWORDS) + if (ctx->cbuf->cdw + 12 >= VIRGL_MAX_CMDBUF_DWORDS) ctx->base.flush(&ctx->base, NULL, 0); thispass = (VIRGL_MAX_CMDBUF_DWORDS - ctx->cbuf->cdw - 12) * 4; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
