aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-09-30 08:58:27 +0200
committermarha <marha@users.sourceforge.net>2013-09-30 08:58:27 +0200
commita12cf779e828ec70da714832e1eaa730119fe10c (patch)
treedc99a80ba8d23ac18d2a33ebaa4cbdeef65ffb72 /mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
parent14718f10dcda487178690de9a51cc5acdf21e468 (diff)
downloadvcxsrv-a12cf779e828ec70da714832e1eaa730119fe10c.tar.gz
vcxsrv-a12cf779e828ec70da714832e1eaa730119fe10c.tar.bz2
vcxsrv-a12cf779e828ec70da714832e1eaa730119fe10c.zip
git update fontconfig mesa libXau pixman xkeyboard-config 30 Sep 2013
xkeyboard-config commit fe5c2416314fd1df423c8ce53cac2d28b00420e7 libXau commit 304a11be4727c5a7feeb2501e8e001466f8ce84e pixman commit b513b3dffe979056dbbbdc8e0659f8018c51c5f5 fontconfig commit 9161ed1e4a3f4afaee6dbcfc0b84a279ad99b397 mesa commit 868791f0baa0b51f4255c839448d3ca87ab1aa35
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp')
-rw-r--r--mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 271cf0523..53838b391 100644
--- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -1944,6 +1944,14 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir)
/* note: we have to reorder the three args here */
emit(ir, TGSI_OPCODE_LRP, result_dst, op[2], op[1], op[0]);
break;
+ case ir_triop_csel:
+ if (this->ctx->Const.NativeIntegers)
+ emit(ir, TGSI_OPCODE_UCMP, result_dst, op[0], op[1], op[2]);
+ else {
+ op[0].negate = ~op[0].negate;
+ emit(ir, TGSI_OPCODE_CMP, result_dst, op[0], op[1], op[2]);
+ }
+ break;
case ir_unop_pack_snorm_2x16:
case ir_unop_pack_unorm_2x16:
case ir_unop_pack_half_2x16:
@@ -1970,7 +1978,6 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir)
case ir_binop_vector_extract:
case ir_triop_vector_insert:
case ir_binop_ldexp:
- case ir_triop_csel:
/* This operation is not supported, or should have already been handled.
*/
assert(!"Invalid ir opcode in glsl_to_tgsi_visitor::visit()");