From: Eric Anholt Date: Thu, 3 Jun 2010 23:31:14 +0000 (-0700) Subject: ir_to_mesa: Handle constant matrices. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=76720647566db8126b9f29a0e705ba03ebcdad27;p=mesa.git ir_to_mesa: Handle constant matrices. There's not much to it since we're not actually storing constant data yet. --- diff --git a/ir_to_mesa.cpp b/ir_to_mesa.cpp index afb5ad0e468..2ec2b11f03e 100644 --- a/ir_to_mesa.cpp +++ b/ir_to_mesa.cpp @@ -943,8 +943,6 @@ ir_to_mesa_visitor::visit(ir_constant *ir) { ir_to_mesa_src_reg src_reg; - assert(!ir->type->is_matrix()); - assert(ir->type->base_type == GLSL_TYPE_FLOAT || ir->type->base_type == GLSL_TYPE_UINT || ir->type->base_type == GLSL_TYPE_INT || @@ -957,11 +955,13 @@ ir_to_mesa_visitor::visit(ir_constant *ir) /* FINISHME: Do something with the constant values for now. */ src_reg.file = PROGRAM_CONSTANT; - src_reg.index = this->next_constant++; + src_reg.index = this->next_constant; src_reg.swizzle = SWIZZLE_NOOP; src_reg.reladdr = false; src_reg.negate = 0; + this->next_constant += type_size(ir->type); + this->result = src_reg; }