draw: don't assume fixed offset for data in struct vertex_info
authorRoland Scheidegger <sroland@vmware.com>
Fri, 11 Dec 2015 03:53:21 +0000 (04:53 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Fri, 11 Dec 2015 19:09:21 +0000 (20:09 +0100)
Otherwise, if struct vertex_info is changed, you're in for some surprises...

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/draw/draw_pt_fetch.c

index 3f028ce..84fd6bf 100644 (file)
@@ -71,12 +71,10 @@ draw_pt_fetch_prepare(struct pt_fetch *fetch,
 
    fetch->vertex_size = vertex_size;
 
-   /* Leave the clipmask/edgeflags/pad/vertex_id untouched
+   /* Leave the clipmask/edgeflags/pad/vertex_id,
+    * clip[] and whatever else in the header untouched.
     */
-   dst_offset += 1 * sizeof(float);
-   /* Just leave the clip[] and pre_clip_pos[] array untouched.
-    */
-   dst_offset += 8 * sizeof(float);
+   dst_offset = offsetof(struct vertex_header, data);
 
    if (instance_id_index != ~0) {
       num_extra_inputs++;