summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/prog_execute.h
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-10-26 19:19:09 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-10-26 19:19:51 -0600
commit8fed2466e4056668a76a87cf935b5fbff8ae15ca (patch)
tree81345e5b5ee66dc2dd299f5b9ce29314f2e52735 /src/mesa/shader/prog_execute.h
parent789d248558061fe4d65f664d6770a12b90fa2e34 (diff)
downloadexternal_mesa3d-8fed2466e4056668a76a87cf935b5fbff8ae15ca.zip
external_mesa3d-8fed2466e4056668a76a87cf935b5fbff8ae15ca.tar.gz
external_mesa3d-8fed2466e4056668a76a87cf935b5fbff8ae15ca.tar.bz2
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.
Diffstat (limited to 'src/mesa/shader/prog_execute.h')
-rw-r--r--src/mesa/shader/prog_execute.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/shader/prog_execute.h b/src/mesa/shader/prog_execute.h
index be29ece..db7bcee 100644
--- a/src/mesa/shader/prog_execute.h
+++ b/src/mesa/shader/prog_execute.h
@@ -62,6 +62,8 @@ struct gl_program_machine
GLuint CondCodes[4]; /**< COND_* value for x/y/z/w */
GLint AddressReg[MAX_PROGRAM_ADDRESS_REGS][4];
+ GLuint *Samplers; /** Array mapping sampler var to tex unit */
+
GLuint CallStack[MAX_PROGRAM_CALL_DEPTH]; /**< For CAL/RET instructions */
GLuint StackDepth; /**< Index/ptr to top of CallStack[] */