Mesa (master): softpipe: Fix division by zero
Brian Paul
brianp at kemper.freedesktop.org
Mon Apr 19 14:45:35 UTC 2010
Module: Mesa
Branch: master
Commit: b3a68cdc6f4bf2c006aa01f8980536e8e520d62a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3a68cdc6f4bf2c006aa01f8980536e8e520d62a
Author: Arpad Borsos <arpad.borsos at googlemail.com>
Date: Wed Apr 14 14:26:32 2010 -0600
softpipe: Fix division by zero
This can be triggered by running the cairo tests using the gl backend
and softpipe.
Signed-off-by: Brian Paul <brianp at vmware.com>
---
src/gallium/drivers/softpipe/sp_setup.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/softpipe/sp_setup.c b/src/gallium/drivers/softpipe/sp_setup.c
index 85966bc..e64aee6 100644
--- a/src/gallium/drivers/softpipe/sp_setup.c
+++ b/src/gallium/drivers/softpipe/sp_setup.c
@@ -669,17 +669,17 @@ static void setup_tri_edges( struct setup_context *setup )
setup->emaj.sy = ceilf(vmin_y);
setup->emaj.lines = (int) ceilf(vmax_y - setup->emaj.sy);
- setup->emaj.dxdy = setup->emaj.dx / setup->emaj.dy;
+ setup->emaj.dxdy = setup->emaj.dy ? setup->emaj.dx / setup->emaj.dy : .0f;
setup->emaj.sx = vmin_x + (setup->emaj.sy - vmin_y) * setup->emaj.dxdy;
setup->etop.sy = ceilf(vmid_y);
setup->etop.lines = (int) ceilf(vmax_y - setup->etop.sy);
- setup->etop.dxdy = setup->etop.dx / setup->etop.dy;
+ setup->etop.dxdy = setup->etop.dy ? setup->etop.dx / setup->etop.dy : .0f;
setup->etop.sx = vmid_x + (setup->etop.sy - vmid_y) * setup->etop.dxdy;
setup->ebot.sy = ceilf(vmin_y);
setup->ebot.lines = (int) ceilf(vmid_y - setup->ebot.sy);
- setup->ebot.dxdy = setup->ebot.dx / setup->ebot.dy;
+ setup->ebot.dxdy = setup->ebot.dy ? setup->ebot.dx / setup->ebot.dy : .0f;
setup->ebot.sx = vmin_x + (setup->ebot.sy - vmin_y) * setup->ebot.dxdy;
}
More information about the mesa-commit
mailing list