From: Marek Olšák <marek.ol...@amd.com>

Not possible with GL and it will make future gallium rework easier.
(also it's something I wouldn't like to support)
---
 src/gallium/drivers/radeonsi/si_state_draw.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c 
b/src/gallium/drivers/radeonsi/si_state_draw.c
index 0ada60a..9b7b52c 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -1213,27 +1213,27 @@ void si_draw_vbo(struct pipe_context *ctx, const struct 
pipe_draw_info *info)
 
                        util_shorten_ubyte_elts_to_userptr(&sctx->b.b, ib, 0, 0,
                                                           ib->offset + start,
                                                           count, ptr);
 
                        /* info->start will be added by the drawing code */
                        ib_tmp.offset -= start_offset;
                        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);
                        if (!ib_tmp.buffer)
                                return;
 
                        /* info->start will be added by the drawing code */
                        ib_tmp.offset -= start_offset;
                        ib_tmp.index_size = ib->index_size;
                        ib = &ib_tmp;
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to