diff options
author | José Fonseca <jose.r.fonseca@gmail.com> | 2012-05-18 01:03:13 +0100 |
---|---|---|
committer | José Fonseca <jose.r.fonseca@gmail.com> | 2012-05-18 01:03:13 +0100 |
commit | 3f7a5ffac7e78bca47fa58849f5666fb334b3ab1 (patch) | |
tree | df7663c4867705eeeaffb1ee3a813e16b2a9ac54 /src/gallium/drivers/llvmpipe/lp_bld_interp.c | |
parent | 00eb74b275e21d567a0ab8a6731181e005208634 (diff) |
llvmpipe: Avoid adding floating point zero to flat inputs.
Which could clobber integer inputs, if the addition is not optimized away
(e.g., if optimizations are disabled for debugging purposes).
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_bld_interp.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_bld_interp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.c b/src/gallium/drivers/llvmpipe/lp_bld_interp.c index 0608ab0a2a7..0d51ccb0349 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_interp.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.c @@ -239,7 +239,10 @@ coeffs_init(struct lp_build_interp_soa_context *bld, * Compute the attrib values on the upper-left corner of each quad. */ - a = LLVMBuildFAdd(builder, a, dadq2, ""); + if (interp != LP_INTERP_CONSTANT && + interp != LP_INTERP_FACING) { + a = LLVMBuildFAdd(builder, a, dadq2, ""); + } #if PERSPECTIVE_DIVIDE_PER_QUAD /* |