Some initial RGB and RGBA floating point texture formats.
[mesa.git] / src / mesa / main / program.h
index 70982c53404ac15f49fedfa070ebc42ec580e58e..0217a00487dd04b18fa28e30f2b78b55bb613530 100644 (file)
 
 
 /* for GL_ARB_v_p and GL_ARB_f_p SWZ instruction */
-#define SWIZZLE_ZERO 100
-#define SWIZZLE_ONE  101
+#define SWIZZLE_X    0
+#define SWIZZLE_Y    1
+#define SWIZZLE_Z    2
+#define SWIZZLE_W    3
+#define SWIZZLE_ZERO 4         /* keep these values together: KW */
+#define SWIZZLE_ONE  5         /* keep these values together: KW */
 
 
 /*
@@ -55,7 +59,7 @@ _mesa_find_line_column(const GLubyte *string, const GLubyte *pos,
                        GLint *line, GLint *col);
 
 extern struct program *
-_mesa_alloc_program(GLcontext *ctx, GLenum target, GLuint id);
+_mesa_new_program(GLcontext *ctx, GLenum target, GLuint id);
 
 extern void
 _mesa_delete_program(GLcontext *ctx, struct program *prog);
@@ -101,6 +105,7 @@ enum state_index {
    STATE_SPECULAR,
    STATE_EMISSION,
    STATE_SHININESS,
+   STATE_HALF, 
 
    STATE_POSITION,
    STATE_ATTENUATION,
@@ -113,7 +118,17 @@ enum state_index {
    STATE_TEXGEN_OBJECT_S,
    STATE_TEXGEN_OBJECT_T,
    STATE_TEXGEN_OBJECT_R,
-   STATE_TEXGEN_OBJECT_Q
+   STATE_TEXGEN_OBJECT_Q,
+
+   STATE_TEXENV_COLOR,
+       
+   STATE_DEPTH_RANGE,
+
+   STATE_VERTEX_PROGRAM,
+   STATE_FRAGMENT_PROGRAM,
+
+   STATE_ENV,
+   STATE_LOCAL
 };
 
 
@@ -137,7 +152,7 @@ struct program_parameter
 {
    const char *Name;                   /* Null-terminated */
    enum parameter_type Type;
-   enum state_index StateIndexes[5];   /* Global state reference */
+   enum state_index StateIndexes[6];   /* Global state reference */
    GLfloat Values[4];
 };
 
@@ -176,7 +191,7 @@ _mesa_add_unnamed_constant(struct program_parameter_list *paramList,
 
 extern GLint
 _mesa_add_state_reference(struct program_parameter_list *paramList,
-                          const char *stateString);
+                          GLint *stateTokens);
 
 extern GLfloat *
 _mesa_lookup_parameter_value(struct program_parameter_list *paramList,
@@ -195,16 +210,16 @@ _mesa_load_state_parameters(GLcontext *ctx,
  * API functions
  */
 
-extern void
+extern void GLAPIENTRY
 _mesa_BindProgram(GLenum target, GLuint id);
 
-extern void
+extern void GLAPIENTRY
 _mesa_DeletePrograms(GLsizei n, const GLuint *ids);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GenPrograms(GLsizei n, GLuint *ids);
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_IsProgram(GLuint id);