draw.start = info->start;
draw.count = info->count;
if (info->indexed && rctx->index_buffer.buffer) {
+ draw.start += rctx->index_buffer.offset / rctx->index_buffer.index_size;
draw.min_index = info->min_index;
draw.max_index = info->max_index;
draw.index_bias = info->index_bias;
if (draw.index_buffer) {
rbuffer = (struct r600_resource*)draw.index_buffer;
rdraw.indices = rbuffer->bo;
- rdraw.indices_bo_offset = 0;
+ rdraw.indices_bo_offset = draw.index_buffer_offset;
}
evergreen_context_draw(&rctx->ctx, &rdraw);
}
if (draw->index_buffer) {
rbuffer = (struct r600_resource*)draw->index_buffer;
rdraw.indices = rbuffer->bo;
- rdraw.indices_bo_offset = 0;
+ rdraw.indices_bo_offset = draw->index_buffer_offset;
}
r600_context_draw(&rctx->ctx, &rdraw);
}
draw.start = info->start;
draw.count = info->count;
if (info->indexed && rctx->index_buffer.buffer) {
+ draw.start += rctx->index_buffer.offset / rctx->index_buffer.index_size;
draw.min_index = info->min_index;
draw.max_index = info->max_index;
draw.index_bias = info->index_bias;
#if 0
sprintf(dname, "gallium-%08d.bof", dc);
- if (dc < 4) {
+ if (dc < 20) {
r600_context_dump_bof(&rctx->ctx, dname);
R600_ERR("dumped %s\n", dname);
}