diff options
author | marha <marha@users.sourceforge.net> | 2013-09-30 09:00:43 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-09-30 09:00:43 +0200 |
commit | 3aaead2ee2e0f925b33c1ccbde7fa3c0b119d064 (patch) | |
tree | b5487ebc7c6056e0b248afc471edf40b90a3b0b4 /mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp | |
parent | 1245204b2091d108a8688ff7f749f2c6cc830381 (diff) | |
parent | a12cf779e828ec70da714832e1eaa730119fe10c (diff) | |
download | vcxsrv-3aaead2ee2e0f925b33c1ccbde7fa3c0b119d064.tar.gz vcxsrv-3aaead2ee2e0f925b33c1ccbde7fa3c0b119d064.tar.bz2 vcxsrv-3aaead2ee2e0f925b33c1ccbde7fa3c0b119d064.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
git update fontconfig mesa libXau pixman xkeyboard-config 30 Sep 2013
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.cpp | 9 |
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()"); |