summaryrefslogtreecommitdiff
path: root/src/mesa/shader/prog_parameter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/shader/prog_parameter.h')
-rw-r--r--src/mesa/shader/prog_parameter.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/mesa/shader/prog_parameter.h b/src/mesa/shader/prog_parameter.h
index 3d32a64f38..09ff851ea7 100644
--- a/src/mesa/shader/prog_parameter.h
+++ b/src/mesa/shader/prog_parameter.h
@@ -46,6 +46,7 @@ struct gl_program_parameter
{
const char *Name; /**< Null-terminated string */
enum register_file Type; /**< PROGRAM_NAMED_PARAM, CONSTANT or STATE_VAR */
+ GLenum DataType; /**< GL_FLOAT, GL_FLOAT_VEC2, etc */
GLuint Size; /**< Number of components (1..4) */
/**
* A sequence of STATE_* tokens and integers to identify GL state.
@@ -80,7 +81,7 @@ _mesa_clone_parameter_list(const struct gl_program_parameter_list *list);
extern GLint
_mesa_add_parameter(struct gl_program_parameter_list *paramList,
enum register_file type, const char *name,
- GLuint size, const GLfloat *values,
+ GLuint size, GLenum datatype, const GLfloat *values,
const gl_state_index state[STATE_LENGTH]);
extern GLint
@@ -99,11 +100,11 @@ _mesa_add_unnamed_constant(struct gl_program_parameter_list *paramList,
extern GLint
_mesa_add_uniform(struct gl_program_parameter_list *paramList,
- const char *name, GLuint size);
+ const char *name, GLuint size, GLenum datatype);
extern GLint
_mesa_add_sampler(struct gl_program_parameter_list *paramList,
- const char *name);
+ const char *name, GLenum datatype);
extern GLint
_mesa_add_varying(struct gl_program_parameter_list *paramList,
@@ -131,6 +132,12 @@ _mesa_lookup_parameter_constant(const struct gl_program_parameter_list *list,
GLint *posOut, GLuint *swizzleOut);
extern GLuint
-_mesa_parameter_longest_name(const struct gl_program_parameter_list *list);
+_mesa_longest_parameter_name(const struct gl_program_parameter_list *list,
+ enum register_file type);
+
+extern GLuint
+_mesa_num_parameters_of_type(const struct gl_program_parameter_list *list,
+ enum register_file type);
+
#endif /* PROG_PARAMETER_H */