summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-11-24 13:04:04 -0700
committerBrian Paul <[email protected]>2009-01-06 08:54:23 -0700
commita48b004c442ec89905ee1dfdd778c9bca603732c (patch)
tree075e4bb31737eef3da9bcfe3dd0fb424982cbdb5 /src/mesa/main
parent71c900abc76198ecf97e0cd7585ade430827db3f (diff)
mesa: add gl_program::Input/OutputFlags[] array
These arrays will indicate per-input or per-output options for vertex/fragment programs such as centroid-sampling and invariance. (cherry picked from commit b730d0d3e9b202b17a0815cb820fc9905f35cb98)
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/config.h2
-rw-r--r--src/mesa/main/mtypes.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
index 5e9a4f89394..34ab77d13ed 100644
--- a/src/mesa/main/config.h
+++ b/src/mesa/main/config.h
@@ -191,6 +191,8 @@
#define MAX_UNIFORMS 128 /**< number of float components */
#define MAX_VARYING 8 /**< number of float[4] vectors */
#define MAX_SAMPLERS 8
+#define MAX_PROGRAM_INPUTS 32
+#define MAX_PROGRAM_OUTPUTS 32
/*@}*/
/** For GL_NV_vertex_program */
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 732de2bb432..e241fe188ce 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1894,10 +1894,13 @@ struct gl_program
GLbitfield InputsRead; /**< Bitmask of which input regs are read */
GLbitfield OutputsWritten; /**< Bitmask of which output regs are written to */
+ GLbitfield InputFlags[MAX_PROGRAM_INPUTS]; /**< PROG_PARAM_BIT_x flags */
+ GLbitfield OutputFlags[MAX_PROGRAM_OUTPUTS]; /**< PROG_PARAM_BIT_x flags */
GLbitfield TexturesUsed[MAX_TEXTURE_IMAGE_UNITS]; /**< TEXTURE_x_BIT bitmask */
GLbitfield SamplersUsed; /**< Bitfield of which samplers are used */
GLbitfield ShadowSamplers; /**< Texture units used for shadow sampling. */
+
/** Named parameters, constants, etc. from program text */
struct gl_program_parameter_list *Parameters;
/** Numbered local parameters */