llvmpipe: fix blending with half-float formats
authorZack Rusin <zackr@vmware.com>
Fri, 6 Dec 2013 06:28:25 +0000 (01:28 -0500)
committerZack Rusin <zackr@vmware.com>
Tue, 10 Dec 2013 21:39:48 +0000 (16:39 -0500)
commit155139059ba588da1161eaa692515cacdead9f4e
treef64daec33014ca5ea6ccf8d93a58ae064dda28eb
parent1e71493afa263791b2ff10afd2fbc36a7effa73f
llvmpipe: fix blending with half-float formats

The fact that we flush denorms to zero breaks our half-float
conversion and blending. This patches enables denorms for
blending. It's a little tricky due to the llvm bug that makes
it incorrectly reorder the mxcsr intrinsics:
http://llvm.org/bugs/show_bug.cgi?id=6393

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Zack Rusin <zackr@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_arit.c
src/gallium/auxiliary/gallivm/lp_bld_arit.h
src/gallium/drivers/llvmpipe/lp_state_fs.c