Module: Mesa
Branch: master
Commit: 7dc2e5f94024746ab2e39f77ab778fe3b89c0eb1
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dc2e5f94024746ab2e39f77ab778fe3b89c0eb1

Author: Matt Turner <matts...@gmail.com>
Date:   Mon Jan 11 09:34:50 2016 -0800

i965/fs: Skip assertion on NaN.

A shader in Unreal4 uses the result of divide by zero in its color
output, producing NaN and triggering this assertion since NaN is not
equal to itself.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93560
Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>

---

 src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp 
b/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
index 9141907..994c699 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp
@@ -300,7 +300,8 @@ fs_visitor::opt_combine_constants()
          reg->subreg_offset = table.imm[i].subreg_offset;
          reg->stride = 0;
          reg->negate = signbit(reg->f) != signbit(table.imm[i].val);
-         assert(fabsf(reg->f) == table.imm[i].val);
+         assert((isnan(reg->f) && isnan(table.imm[i].val)) ||
+                fabsf(reg->f) == table.imm[i].val);
       }
    }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to