Landed patches 1 & 2 to avoid holding up the nouveau enabling of this feature while waiting for review on the i965 bits.
On Sun, Aug 10, 2014 at 2:22 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > On Sat, Aug 9, 2014 at 10:14 PM, Chris Forbes <chr...@ijw.co.nz> wrote: >> If the array index is not a constant expression, the existing support >> will assume a zero offset (giving us the sampler index of the base of >> the array). >> >> For dynamically uniform indexing of sampler arrays, we need both that >> and the indexing expression. >> >> Signed-off-by: Chris Forbes <chr...@ijw.co.nz> > > Patches 1-2 are > > Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > >> --- >> src/mesa/program/sampler.cpp | 11 +++++++++++ >> src/mesa/program/sampler.h | 3 +++ >> 2 files changed, 14 insertions(+) >> >> diff --git a/src/mesa/program/sampler.cpp b/src/mesa/program/sampler.cpp >> index e6532be..29a5408 100644 >> --- a/src/mesa/program/sampler.cpp >> +++ b/src/mesa/program/sampler.cpp >> @@ -134,3 +134,14 @@ _mesa_get_sampler_uniform_value(class ir_dereference >> *sampler, >> return shader_program->UniformStorage[location].sampler[shader].index + >> getname.offset; >> } >> + >> + >> +extern "C" class ir_rvalue * >> +_mesa_get_sampler_array_nonconst_index(class ir_dereference *sampler) >> +{ >> + ir_dereference_array *deref_arr = sampler->as_dereference_array(); >> + if (!deref_arr || deref_arr->array_index->as_constant()) >> + return NULL; >> + >> + return deref_arr->array_index; >> +} >> diff --git a/src/mesa/program/sampler.h b/src/mesa/program/sampler.h >> index 22467e9..8b7c3b6 100644 >> --- a/src/mesa/program/sampler.h >> +++ b/src/mesa/program/sampler.h >> @@ -27,3 +27,6 @@ int >> _mesa_get_sampler_uniform_value(class ir_dereference *sampler, >> struct gl_shader_program *shader_program, >> const struct gl_program *prog); >> + >> +class ir_rvalue * >> +_mesa_get_sampler_array_nonconst_index(class ir_dereference *sampler); >> -- >> 2.0.4 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev