From 358ec62a52e58f1a50f71ac51b4ba71d0591ceb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sat, 30 Apr 2016 20:29:53 -0700 Subject: [PATCH] Updated glsl-optimizer. --- .../src/glsl/ir_print_metal_visitor.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp b/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp index f9988a31f..9f7071d95 100644 --- a/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp +++ b/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp @@ -1020,7 +1020,17 @@ void ir_print_metal_visitor::visit(ir_expression *ir) const bool halfCast = (arg_prec == glsl_precision_medium || arg_prec == glsl_precision_low); buffer.asprintf_append (halfCast ? "((half)1.0/(" : "(1.0/("); } else { - buffer.asprintf_append ("%s(", operator_glsl_strs[ir->operation]); + switch(ir->operation) { + case ir_unop_dFdy: + case ir_unop_dFdy_coarse: + case ir_unop_dFdy_fine: + buffer.asprintf_append ("%s(-", operator_glsl_strs[ir->operation]); + break; + + default: + buffer.asprintf_append ("%s(", operator_glsl_strs[ir->operation]); + break; + } } if (ir->operands[0]) ir->operands[0]->accept(this);