[Mesa-stable] [PATCH v3 07/16] i965/draw: Properly handle rounding when dividing by InstanceDivisor
Jason Ekstrand
jason at jlekstrand.net
Fri May 20 23:53:18 UTC 2016
The old code always divided rounded down and then subtracted 1. What we
wanted was to divide rounded up and then subtract 1 which is equivalent to
subtracting 1 and then dividing rounded down.
Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
---
src/mesa/drivers/dri/i965/brw_draw_upload.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index 6d9e65e..b651fd2 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -474,8 +474,8 @@ brw_prepare_vertices(struct brw_context *brw)
if (glarray->InstanceDivisor) {
if (brw->num_instances) {
start = offset + glarray->StrideB * brw->baseinstance;
- range = (glarray->StrideB * ((brw->num_instances /
- glarray->InstanceDivisor) - 1) +
+ range = (glarray->StrideB * ((brw->num_instances - 1) /
+ glarray->InstanceDivisor) +
glarray->_ElementSize);
}
} else {
--
2.5.0.400.gff86faf
More information about the mesa-stable
mailing list