diff --git a/src/gallium/drivers/virgl/virgl_encode.c b/src/gallium/drivers/virgl/virgl_encode.c index d9f82e2d602..47a44c3489f 100644 --- a/src/gallium/drivers/virgl/virgl_encode.c +++ b/src/gallium/drivers/virgl/virgl_encode.c @@ -723,12 +723,12 @@ int virgl_encoder_draw_vbo(struct virgl_context *ctx, virgl_encoder_write_dword(ctx->cbuf, info->mode); virgl_encoder_write_dword(ctx->cbuf, !!info->index_size); virgl_encoder_write_dword(ctx->cbuf, info->instance_count); - virgl_encoder_write_dword(ctx->cbuf, info->index_bias); + virgl_encoder_write_dword(ctx->cbuf, info->index_size ? info->index_bias : 0); virgl_encoder_write_dword(ctx->cbuf, info->start_instance); virgl_encoder_write_dword(ctx->cbuf, info->primitive_restart); virgl_encoder_write_dword(ctx->cbuf, info->restart_index); - virgl_encoder_write_dword(ctx->cbuf, info->min_index); - virgl_encoder_write_dword(ctx->cbuf, info->max_index); + virgl_encoder_write_dword(ctx->cbuf, info->index_bounds_valid ? info->min_index : 0); + virgl_encoder_write_dword(ctx->cbuf, info->index_bounds_valid ? info->max_index : ~0); if (indirect && indirect->count_from_stream_output) virgl_encoder_write_dword(ctx->cbuf, indirect->count_from_stream_output->buffer_size); else