added a const, clean-up
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 3 Nov 2005 02:26:47 +0000 (02:26 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 3 Nov 2005 02:26:47 +0000 (02:26 +0000)
src/mesa/shader/program.c
src/mesa/shader/program.h

index ce0a48495f330de814501d3011b8b4ae14d0f9bb..7b9185a6a8173013a7340ccbfb0656d9df4d4cfb 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.2
+ * Version:  6.5
  *
- * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -383,6 +383,7 @@ _mesa_free_parameters(struct program_parameter_list *paramList)
 
 /**
  * Helper function used by the functions below.
+ * \return  index of new parameter in the list, or -1 if error (out of mem)
  */
 static GLint
 add_parameter(struct program_parameter_list *paramList,
@@ -483,19 +484,22 @@ _mesa_add_unnamed_constant(struct program_parameter_list *paramList,
  */
 GLint
 _mesa_add_state_reference(struct program_parameter_list *paramList,
-                          GLint *stateTokens)
+                          const GLint *stateTokens)
 {
-   /* XXX Should we parse <stateString> here and produce the parameter's
-    * list of STATE_* tokens here, or in the parser?
+   /* XXX we should probably search the current parameter list to see if
+    * the new state reference is already present.
     */
-   GLint a, idx;
+   GLint index;
 
-   idx = add_parameter(paramList, NULL, NULL, STATE);
-       
-   for (a=0; a<6; a++)
-      paramList->Parameters[idx].StateIndexes[a] = (enum state_index) stateTokens[a];
+   index = add_parameter(paramList, NULL, NULL, STATE);
+   if (index >= 0) {
+      GLuint i;
+      for (i = 0; i < 6; i++)
+         paramList->Parameters[index].StateIndexes[i]
+            = (enum state_index) stateTokens[i];
+   }
 
-   return idx;
+   return index;
 }
 
 
index 87590ceea9a05486e763d8df3d5bb3265f6b6c5e..776062f7d0815bc8eb2b68d72af8ecfc65495046 100644 (file)
@@ -249,7 +249,7 @@ _mesa_add_unnamed_constant(struct program_parameter_list *paramList,
 
 extern GLint
 _mesa_add_state_reference(struct program_parameter_list *paramList,
-                          GLint *stateTokens);
+                          const GLint *stateTokens);
 
 extern GLfloat *
 _mesa_lookup_parameter_value(struct program_parameter_list *paramList,