From c6960e4471abe287448b9d0e7e6519d588cdf43c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 30 Sep 2010 13:26:38 -0700 Subject: [PATCH] i965: Fix new FS handling of builtin uniforms with packed scalars in structs. We were pointing each element at the .x channel of the ParameterValues. Fixes glsl1-linear fog. --- src/mesa/drivers/dri/i965/brw_fs.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index efa0f2136b2..0a77b5ab4ed 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -696,12 +696,12 @@ fs_visitor::setup_builtin_uniform_values(ir_variable *ir) */ int last_swiz = -1; for (unsigned int i = 0; i < 4; i++) { - int this_swiz = GET_SWZ(element->swizzle, i); - if (this_swiz == last_swiz) + int swiz = GET_SWZ(element->swizzle, i); + if (swiz == last_swiz) break; - last_swiz = this_swiz; + last_swiz = swiz; - c->prog_data.param[c->prog_data.nr_params++] = &vec_values[i]; + c->prog_data.param[c->prog_data.nr_params++] = &vec_values[swiz]; } } } -- 2.30.2