From: Connor Abbott Date: Fri, 8 Aug 2014 21:57:27 +0000 (-0700) Subject: i965/fs: don't read from uninitialized memory while assigning registers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=58007aec4193e3bdb38cafcfb2188dcbd8f18def;p=mesa.git i965/fs: don't read from uninitialized memory while assigning registers Reviewed-by: Matt Turner Signed-off-by: Connor Abbott --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp index 3f273642200..2233621b3cd 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp @@ -56,9 +56,9 @@ fs_visitor::assign_regs_trivial() foreach_in_list(fs_inst, inst, &instructions) { assign_reg(hw_reg_mapping, &inst->dst, reg_width); - assign_reg(hw_reg_mapping, &inst->src[0], reg_width); - assign_reg(hw_reg_mapping, &inst->src[1], reg_width); - assign_reg(hw_reg_mapping, &inst->src[2], reg_width); + for (i = 0; i < inst->sources; i++) { + assign_reg(hw_reg_mapping, &inst->src[i], reg_width); + } } if (this->grf_used >= max_grf) { @@ -518,9 +518,9 @@ fs_visitor::assign_regs(bool allow_spilling) foreach_in_list(fs_inst, inst, &instructions) { assign_reg(hw_reg_mapping, &inst->dst, reg_width); - assign_reg(hw_reg_mapping, &inst->src[0], reg_width); - assign_reg(hw_reg_mapping, &inst->src[1], reg_width); - assign_reg(hw_reg_mapping, &inst->src[2], reg_width); + for (int i = 0; i < inst->sources; i++) { + assign_reg(hw_reg_mapping, &inst->src[i], reg_width); + } } ralloc_free(g);