st/mesa: don't call util_draw_init_info in st_draw_vbo
authorMarek Olšák <marek.olsak@amd.com>
Sun, 9 Apr 2017 11:17:54 +0000 (13:17 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 10 May 2017 17:00:16 +0000 (19:00 +0200)
src/mesa/state_tracker/st_draw.c

index 3fee0cd1425d33a1fb7b87abe8efd9dd9a5ffdcf..8b657be6bc0ee02ac04e3cb57623198e16764cc1 100644 (file)
@@ -166,7 +166,11 @@ st_draw_vbo(struct gl_context *ctx,
       return;
    }
 
-   util_draw_init_info(&info);
+   /* Initialize pipe_draw_info. */
+   info.primitive_restart = false;
+   info.vertices_per_patch = ctx->TessCtrlProgram.patch_vertices;
+   info.indirect = NULL;
+   info.count_from_stream_output = NULL;
 
    if (ib) {
       struct gl_buffer_object *bufobj = ib->obj;
@@ -183,6 +187,7 @@ st_draw_vbo(struct gl_context *ctx,
 
       if (_mesa_is_bufferobj(bufobj)) {
          /* indices are in a real VBO */
+         info.has_user_indices = false;
          info.index.resource = st_buffer_object(bufobj)->buffer;
          start = pointer_to_offset(ib->ptr) / info.index_size;
       } else {
@@ -194,6 +199,8 @@ st_draw_vbo(struct gl_context *ctx,
       setup_primitive_restart(ctx, &info);
    }
    else {
+      info.index_size = 0;
+
       /* Transform feedback drawing is always non-indexed. */
       /* Set info.count_from_stream_output. */
       if (tfb_vertcount) {
@@ -211,7 +218,6 @@ st_draw_vbo(struct gl_context *ctx,
       info.count = prims[i].count;
       info.start_instance = prims[i].base_instance;
       info.instance_count = prims[i].num_instances;
-      info.vertices_per_patch = ctx->TessCtrlProgram.patch_vertices;
       info.index_bias = prims[i].basevertex;
       info.drawid = prims[i].draw_id;
       if (!ib) {