[Mesa-dev] [PATCH 2/8] i965: Stop worrying about alignment of vertex data.

Eric Anholt eric at anholt.net
Wed Jan 23 11:17:44 PST 2013


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



More information about the mesa-dev mailing list