diff options
author | Roland Scheidegger <[email protected]> | 2016-04-26 04:53:01 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2016-04-26 04:55:37 +0200 |
commit | bd07e20d208268382a34dca23ff71a8192bb1525 (patch) | |
tree | dff2bbedc39d7187f562c8971449c56085cbef1f /src/gallium/drivers/softpipe | |
parent | d8edc3e97cfc9ff36c5f6009dc98bc78e2f76389 (diff) |
gallivm: make sampling more robust against bogus coordinates
Some cases (especially these using fract for coord wrapping) did not handle
NaNs (or Infs) correctly - the following code assumed the fract result
could not be outside [0,1], but if the input is a NaN (or +-Inf) the fract
result was NaN - which then could produce out-of-bound offsets.
(Note that the explicit NaN behavior changes for min/max on x86 sse don't
result in actual changes in the generated jit code, but may on other
architectures. Found by looking through all the wrap functions.)
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=94955
No piglit changes.
(v2: fix min/max typo in coord_mirror, add comment)
Cc: "11.1 11.2" <[email protected]>
Tested-by: Bruce Cherniak <[email protected]>
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/drivers/softpipe')
0 files changed, 0 insertions, 0 deletions