Skip to content

tgsi_exec: Fix NaN behavior

Ian Romanick requested to merge idr/mesa:review/tgsi-vs-nan into master

Modern shader APIs, like DX10 and GLSL 1.30, want saturate, clamp(..., 0.0, 1.0), min, and max to "cleanse" NaN. If the one source is NaN, the other source (or zero for saturate and clamp) should be chosen.

There are many cases where TGSI is generate from NIR, and many optimizations in NIR expect this behavior. Not meeting these expectations can lead to unexpected results.

This was discovered while investigating a softpipe piglit failure in !10012 (merged).

Merge request reports