glsl: Add conditional-select IR.
authorMatt Turner <mattst88@gmail.com>
Mon, 19 Aug 2013 17:45:46 +0000 (10:45 -0700)
committerMatt Turner <mattst88@gmail.com>
Mon, 9 Sep 2013 22:01:08 +0000 (15:01 -0700)
commit7aaa38728f93bfb69573e0d866f24e8cb41836f0
treef4de2a2d80ac24087c37dea60b37fe41d9745644
parent60850b7b9fbb9827d6841dbd4a4cd9b1e3554d45
glsl: Add conditional-select IR.

It's a ?: that operates per-component on vectors. Will be used in
upcoming lowering pass for ldexp and the implementation of frexp.

 csel(selector, a, b):
   per-component result = selector ? a : b

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/ir.cpp
src/glsl/ir.h
src/glsl/ir_builder.cpp
src/glsl/ir_builder.h
src/glsl/ir_constant_expression.cpp
src/glsl/ir_validate.cpp
src/mesa/program/ir_to_mesa.cpp
src/mesa/state_tracker/st_glsl_to_tgsi.cpp