[Mesa-dev] [PATCH 07/13] i965/draw: Properly handle rounding when dividing by InstanceDivisor
Jason Ekstrand
jason at jlekstrand.net
Thu May 19 07:21:04 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: "10.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-dev
mailing list