Re-implement GLSL texture sampler variables.
authorBrian <brian.paul@tungstengraphics.com>
Sat, 27 Oct 2007 01:19:09 +0000 (19:19 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Sat, 27 Oct 2007 01:19:51 +0000 (19:19 -0600)
commit8fed2466e4056668a76a87cf935b5fbff8ae15ca
tree81345e5b5ee66dc2dd299f5b9ce29314f2e52735
parent789d248558061fe4d65f664d6770a12b90fa2e34
Re-implement GLSL texture sampler variables.

GLSL sampler variables indicate which texture unit to use for TEX instructions.
Previously, this was baked into the fragment/vertex program and couldn't be
readily changed once set.
Now, SamplerUnits[] array indicates which texture unit is to be used for
each sampler variable.  These values are set with glUniform1i().
This is extra state that must be passed to the fragment/vertex program
executor at runtime.
31 files changed:
src/mesa/main/config.h
src/mesa/main/mtypes.h
src/mesa/pipe/failover/fo_context.h
src/mesa/pipe/failover/fo_state.c
src/mesa/pipe/i915simple/i915_context.h
src/mesa/pipe/i915simple/i915_state.c
src/mesa/pipe/p_context.h
src/mesa/pipe/softpipe/sp_context.c
src/mesa/pipe/softpipe/sp_context.h
src/mesa/pipe/softpipe/sp_quad_fs.c
src/mesa/pipe/softpipe/sp_state.h
src/mesa/pipe/softpipe/sp_state_sampler.c
src/mesa/pipe/tgsi/exec/tgsi_exec.c
src/mesa/pipe/tgsi/exec/tgsi_exec.h
src/mesa/shader/prog_execute.c
src/mesa/shader/prog_execute.h
src/mesa/shader/prog_instruction.c
src/mesa/shader/prog_instruction.h
src/mesa/shader/prog_parameter.c
src/mesa/shader/prog_parameter.h
src/mesa/shader/prog_print.c
src/mesa/shader/program.c
src/mesa/shader/shader_api.c
src/mesa/shader/slang/slang_codegen.c
src/mesa/shader/slang/slang_compile.c
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_link.c
src/mesa/shader/slang/slang_link.h
src/mesa/shader/slang/slang_typeinfo.h
src/mesa/state_tracker/st_atom_sampler.c
src/mesa/swrast/s_fragprog.c