From: Kenneth Graunke Date: Wed, 9 Jun 2010 22:22:35 +0000 (-0700) Subject: ir_constant_visitor: Add support for dFdx and dFdy operations. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d6a32d4b5450d76046428fd3f93a4feb0d14b5e6;p=mesa.git ir_constant_visitor: Add support for dFdx and dFdy operations. If the argument is a constant expression...it's not changing per pixel, so the result is simply 0. --- diff --git a/ir_constant_expression.cpp b/ir_constant_expression.cpp index e89b5bc7685..4055a84ff15 100644 --- a/ir_constant_expression.cpp +++ b/ir_constant_expression.cpp @@ -266,6 +266,15 @@ ir_constant_visitor::visit(ir_expression *ir) } break; + case ir_unop_dFdx: + case ir_unop_dFdy: + assert(op[0]->type->base_type == GLSL_TYPE_FLOAT); + type = ir->type; + for (c = 0; c < ir->operands[0]->type->components(); c++) { + f[c] = 0.0; + } + break; + case ir_binop_add: if (ir->operands[0]->type == ir->operands[1]->type) { type = ir->operands[0]->type;