svga: Fix multiple uploads of the same user-buffer.
[mesa.git] / src / gallium / drivers / svga / svga_state_vdecl.c
index 2375a022f97a7195d95df036a3dbf44f9350c810..47eab1a9739eadcbf171c7bc71978c1ba57cee8b 100644 (file)
@@ -82,8 +82,8 @@ static int emit_hw_vs_vdecl( struct svga_context *svga,
          continue;
 
       buffer = svga_buffer(vb->buffer);
-      if (buffer->source_offset > offset) {
-         tmp_neg_bias = buffer->source_offset - offset;
+      if (buffer->uploaded.start > offset) {
+         tmp_neg_bias = buffer->uploaded.start - offset;
          if (vb->stride)
             tmp_neg_bias = (tmp_neg_bias + vb->stride - 1) / vb->stride;
          neg_bias = MAX2(neg_bias, tmp_neg_bias);
@@ -116,7 +116,7 @@ static int emit_hw_vs_vdecl( struct svga_context *svga,
       decl.array.offset = (vb->buffer_offset
                            + ve[i].src_offset
                           + neg_bias * vb->stride
-                          - buffer->source_offset);
+                          - buffer->uploaded.start);
 
       assert(decl.array.offset >= 0);