virgl, vtest: Correct the transfer size calculation

The transfer size used in virglrenderer refers to uint32_t, so one
must add 3 and then divide by 4 instead of adding 3/4 which is a no-op
with integers.

Fixes: b3b82fe8ea virgl/vtest: add vtest driver

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
This commit is contained in:
Gert Wollny 2018-10-04 16:40:07 +02:00 committed by Gert Wollny
parent 066850edad
commit 5d7858f151

View file

@ -295,8 +295,10 @@ int virgl_vtest_send_transfer_cmd(struct virgl_vtest_winsys *vws,
vtest_hdr[VTEST_CMD_LEN] = VCMD_TRANSFER_HDR_SIZE;
vtest_hdr[VTEST_CMD_ID] = vcmd;
/* The host expects the size in dwords so calculate the rounded up
* value here. */
if (vcmd == VCMD_TRANSFER_PUT)
vtest_hdr[VTEST_CMD_LEN] += data_size + 3 / 4;
vtest_hdr[VTEST_CMD_LEN] += (data_size + 3) / 4;
cmd[0] = handle;
cmd[1] = level;