Revert "ir_to_mesa: Add support for adding/subtracting matrices."

This reverts commit b4d0c0e0ee.
Now that ir_mat_op_to_vec is landed, this change is no longer needed.
This commit is contained in:
Eric Anholt
2010-07-12 12:03:33 -07:00
parent 6d8a0a0aad
commit 7b48843ecd

View File

@@ -178,13 +178,6 @@ public:
ir_to_mesa_src_reg src0, ir_to_mesa_src_reg src0,
ir_to_mesa_src_reg src1); ir_to_mesa_src_reg src1);
void ir_to_mesa_emit_addsub(ir_expression *ir,
enum prog_opcode opcode,
struct ir_to_mesa_src_reg result_src,
struct ir_to_mesa_dst_reg result_dst,
struct ir_to_mesa_src_reg op0,
struct ir_to_mesa_src_reg op1);
int *sampler_map; int *sampler_map;
int sampler_map_size; int sampler_map_size;
@@ -537,32 +530,6 @@ ir_to_mesa_visitor::visit(ir_function *ir)
} }
} }
void
ir_to_mesa_visitor::ir_to_mesa_emit_addsub(ir_expression *ir,
enum prog_opcode opcode,
struct ir_to_mesa_src_reg result_src,
struct ir_to_mesa_dst_reg result_dst,
struct ir_to_mesa_src_reg op0,
struct ir_to_mesa_src_reg op1)
{
ir_to_mesa_dst_reg dst_column = result_dst;
int matrix_columns;
if (ir->operands[0]->type->is_matrix())
matrix_columns = ir->operands[0]->type->matrix_columns;
else
matrix_columns = ir->operands[1]->type->matrix_columns;
for (int i = 0; i < matrix_columns; i++) {
ir_to_mesa_emit_op2(ir, opcode, dst_column, op0, op1);
dst_column.index++;
if (ir->operands[0]->type->is_matrix())
op0.index++;
if (ir->operands[1]->type->is_matrix())
op1.index++;
}
}
void void
ir_to_mesa_visitor::visit(ir_expression *ir) ir_to_mesa_visitor::visit(ir_expression *ir)
{ {
@@ -587,8 +554,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir)
/* Only expression implemented for matrices yet */ /* Only expression implemented for matrices yet */
assert(!ir->operands[operand]->type->is_matrix() || assert(!ir->operands[operand]->type->is_matrix() ||
ir->operation == ir_binop_mul || ir->operation == ir_binop_mul);
ir->operation == ir_binop_add);
} }
this->result.file = PROGRAM_UNDEFINED; this->result.file = PROGRAM_UNDEFINED;
@@ -652,12 +618,10 @@ ir_to_mesa_visitor::visit(ir_expression *ir)
break; break;
case ir_binop_add: case ir_binop_add:
ir_to_mesa_emit_addsub(ir, OPCODE_ADD, ir_to_mesa_emit_op2(ir, OPCODE_ADD, result_dst, op[0], op[1]);
result_src, result_dst, op[0], op[1]);
break; break;
case ir_binop_sub: case ir_binop_sub:
ir_to_mesa_emit_addsub(ir, OPCODE_SUB, ir_to_mesa_emit_op2(ir, OPCODE_SUB, result_dst, op[0], op[1]);
result_src, result_dst, op[0], op[1]);
break; break;
case ir_binop_mul: case ir_binop_mul: