From: Kenneth Graunke Date: Thu, 22 Apr 2010 06:15:08 +0000 (-0700) Subject: ir_reader: Fix for swizzles. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=951632253f4f37ce058e2466bca5b96bb43ccfbf;p=mesa.git ir_reader: Fix for swizzles. --- diff --git a/ir_reader.cpp b/ir_reader.cpp index 44fbb33a5d4..976af2ab128 100644 --- a/ir_reader.cpp +++ b/ir_reader.cpp @@ -645,8 +645,7 @@ read_swizzle(_mesa_glsl_parse_state *st, s_list *list) return NULL; } - unsigned num_components = strlen(swiz->value()); - if (num_components > 4) { + if (strlen(swiz->value()) > 4) { ir_read_error(st, list, "expected a valid swizzle; found %s", swiz->value()); return NULL; @@ -663,7 +662,8 @@ read_swizzle(_mesa_glsl_parse_state *st, s_list *list) if (rvalue == NULL) return NULL; - return ir_swizzle::create(rvalue, swiz->value(), num_components); + return ir_swizzle::create(rvalue, swiz->value(), + rvalue->type->vector_elements); } static ir_constant *