mesa: Branch 'vbo-0.2' - 2 commits

Keith Whitwell keithw at kemper.freedesktop.org
Thu Feb 1 14:22:04 UTC 2007


 src/mesa/drivers/dri/i965/brw_draw.c        |    9 ++++++---
 src/mesa/drivers/dri/i965/brw_draw_upload.c |    4 +++-
 src/mesa/drivers/dri/i965/brw_metaops.c     |    2 +-
 3 files changed, 10 insertions(+), 5 deletions(-)

New commits:
diff-tree 5368ae5ec329ddad5963d55b17cd4eccbc83d32f (from 605d428d20819ac3f46aaeb4a66707febec7ded2)
Author: Keith Whitwell <keith at tungstengraphics.com>
Date:   Thu Feb 1 14:21:14 2007 +0000

    Correct usage/meaning of max_index parameter.

diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index 6968d74..803a524 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -408,6 +408,8 @@ GLboolean brw_upload_vertices( struct br
 
    /* First build an array of pointers to ve's in vb.inputs_read
     */
+   if (0)
+      _mesa_printf("%s %d..%d\n", __FUNCTION__, min_index, max_index);
    
    while (tmp) {
       GLuint i = ffsll(tmp)-1;
@@ -418,7 +420,7 @@ GLboolean brw_upload_vertices( struct br
 
       input->index = i;
       input->element_size = get_size(input->glarray->Type) * input->glarray->Size;
-      input->count = input->glarray->StrideB ? max_index - min_index : 1;
+      input->count = input->glarray->StrideB ? max_index + 1 - min_index : 1;
 
       if (!input->glarray->BufferObj->Name) {
 	 if (i == 0) {
diff --git a/src/mesa/drivers/dri/i965/brw_metaops.c b/src/mesa/drivers/dri/i965/brw_metaops.c
index 1728fc8..1579762 100644
--- a/src/mesa/drivers/dri/i965/brw_metaops.c
+++ b/src/mesa/drivers/dri/i965/brw_metaops.c
@@ -480,7 +480,7 @@ static void meta_draw_quad(struct intel_
 		  prim, 1,
 		  NULL,
 		  0,
-		  4 );
+		  3 );
 }
 
 
diff-tree 605d428d20819ac3f46aaeb4a66707febec7ded2 (from 893526b8a823fe1b88f2b46376155afb91c84016)
Author: Keith Whitwell <keith at tungstengraphics.com>
Date:   Thu Feb 1 14:20:31 2007 +0000

    Cope with internally-generated null inputs.

diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c
index 7d8f837..092c6ba 100644
--- a/src/mesa/drivers/dri/i965/brw_draw.c
+++ b/src/mesa/drivers/dri/i965/brw_draw.c
@@ -183,10 +183,13 @@ static void brw_merge_inputs( struct brw
    for (i = 0; i < VERT_ATTRIB_MAX; i++) {
       brw->vb.inputs[i].glarray = arrays[i];
 
-      if (arrays[i]->StrideB != 0)
-	 brw->vb.info.varying |= 1 << i;
+      /* XXX: metaops passes null arrays */
+      if (arrays[i]) {
+	 if (arrays[i]->StrideB != 0)
+	    brw->vb.info.varying |= 1 << i;
 
-      brw->vb.info.sizes[i/16] |= (inputs[i].glarray->Size - 1) << ((i%16) * 2);
+	 brw->vb.info.sizes[i/16] |= (inputs[i].glarray->Size - 1) << ((i%16) * 2);
+      }
    }
 
    /* Raise statechanges if input sizes and varying have changed: 



More information about the mesa-commit mailing list