For our current types, the required alignment is actually just 1 byte.
When we get doubles, we have to worry (those have to be aligned to the
natural size), but we don't have doubles yet and they'll just be a
special case.
---
 src/mesa/drivers/dri/i965/brw_draw_upload.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c 
b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index 06a5886..31282dd 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -462,7 +462,6 @@ static void brw_prepare_vertices(struct brw_context *brw)
    for (i = j = 0; i < brw->vb.nr_enabled; i++) {
       struct brw_vertex_element *input = brw->vb.enabled[i];
       const struct gl_client_array *glarray = input->glarray;
-      int type_size = get_size(glarray->Type);
 
       if (_mesa_is_bufferobj(glarray->BufferObj)) {
         struct intel_buffer_object *intel_buffer =
@@ -490,7 +489,7 @@ static void brw_prepare_vertices(struct brw_context *brw)
 
            /* Named buffer object: Just reference its contents directly. */
             buffer->bo = intel_bufferobj_source(intel,
-                                                intel_buffer, type_size,
+                                                intel_buffer, 1,
                                                &buffer->offset);
            drm_intel_bo_reference(buffer->bo);
            buffer->offset += (uintptr_t)glarray->Ptr;
@@ -527,11 +526,6 @@ static void brw_prepare_vertices(struct brw_context *brw)
         {
            interleaved = 0;
         }
-        else if ((uintptr_t)(glarray->Ptr - ptr) & (type_size -1))
-        {
-           /* enforce natural alignment (for doubles) */
-           interleaved = 0;
-        }
 
         upload[nr_uploads++] = input;
       }
-- 
1.7.10.4

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

Reply via email to