i965: disable bounds checking on arrays with stride 0
authorRoland Scheidegger <sroland@vmware.com>
Sat, 15 Aug 2009 01:44:02 +0000 (03:44 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Sat, 15 Aug 2009 01:44:43 +0000 (03:44 +0200)
if stride is 0 we cannot use count as max index for bounds checking,
since the hardware will simply return 0 as data for indices failing
bounds check. If stride is 0 any index should be valid hence simply
disable bounds checking in this case.
This fixes bugs introduced with e643bc5fc7afb563028f5a089ca5e38172af41a8.

src/mesa/drivers/dri/i965/brw_draw_upload.c

index ab6b628..d49fb0f 100644 (file)
@@ -547,7 +547,7 @@ static void brw_emit_vertices(struct brw_context *brw)
                         input->offset + input->element_size);
           }
       } else
-          OUT_BATCH(input->count);
+          OUT_BATCH(input->stride ? input->count : 0);
       OUT_BATCH(0); /* Instance data step rate */
    }
    ADVANCE_BATCH();