diff options
author | Chad Versace <chad.versace@intel.com> | 2011-02-01 09:09:33 -0800 |
---|---|---|
committer | Chad Versace <chad.versace@intel.com> | 2011-02-02 09:54:52 -0800 |
commit | b3cf92aa916ee0537ee37723c23a9897ac9cd3e0 (patch) | |
tree | 3945b1153b23fd36e40f7f076a7f0bdc5d385d70 /src/gallium/drivers/failover | |
parent | 50278c0901d07d0b6c8b883683b1f3d96378bdb5 (diff) |
glsl: Fix constant-folding for reciprocal expressions
Do not constant-fold a reciprocal if any component of the reciprocated
expression is 0. For example, do not constant-fold `1 / vec4(0, 1, 2, 3)`.
Incorrect, previous behavior
----------------------------
Reciprocals were constant-folded even when some component of the
reciprocated expression was 0. The incorrectly applied arithmetic was:
1 / 0 := 0
For example,
1 / vec4(0, 1, 2, 3) = vec4(0, 1, 1/2, 1/3)
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Diffstat (limited to 'src/gallium/drivers/failover')
0 files changed, 0 insertions, 0 deletions