radv/ac: canonicalize the output for 32-bit float min/max.
authorDave Airlie <airlied@redhat.com>
Fri, 17 Mar 2017 03:38:41 +0000 (13:38 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 3 May 2017 02:55:34 +0000 (12:55 +1000)
commit3bf3f9866c1387872521242921bb00c7fb7c2834
treee52860b3851d9d5d5a284abbb3aadefdbca8b026
parent83e58b036e1c34f26c99d04615df2b530f3045d9
radv/ac: canonicalize the output for 32-bit float min/max.

This fixes:
dEQP-VK.glsl.builtin.precision.min.*
dEQP-VK.glsl.builtin.precision.max.*
dEQP-VK.glsl.builtin.precision.clamp.*

The problem is the hw doesn't compare denorms properly,
so we have to flush them, even though the spec says
flushing is optional, if you don't flush the results
should be correct.

The -pro driver changes the shader float mode,
it would be nice if llvm could grow that perhaps.

Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_nir_to_llvm.c