virgl: fix handling draw info
index_bias is undefined if index_size == 0. index bounds are undefined if index_bounds_valid == false. Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7679>
This commit is contained in:
parent
a36d1b1c6e
commit
8ebabfe2b3
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue