radeonsi: don't allow user indices with indirect draws

Not possible with GL and it will make future gallium rework easier.
(also it's something I wouldn't like to support)

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák 2017-04-02 16:22:54 +02:00
parent 1c94d29984
commit 5438e39fae

View file

@ -1220,13 +1220,13 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
ib_tmp.index_size = 2;
ib = &ib_tmp;
} else if (ib->user_buffer && !ib->buffer) {
unsigned start, count, start_offset;
unsigned start_offset;
si_get_draw_start_count(sctx, info, &start, &count);
start_offset = start * ib->index_size;
assert(!info->indirect);
start_offset = info->start * ib->index_size;
u_upload_data(ctx->stream_uploader, start_offset,
count * ib->index_size,
info->count * ib->index_size,
sctx->screen->b.info.tcc_cache_line_size,
(char*)ib->user_buffer + start_offset,
&ib_tmp.offset, &ib_tmp.buffer);