util/sparse_array: Finish the sparse_array in the tests
[mesa.git] / src / mesa / program / prog_parameter.h
index 78c9909f5cc972c03cd8e40b983ee55dd01cd0c9..c91156f623c57c298ad613a56b2035e643d7e755 100644 (file)
@@ -91,8 +91,16 @@ typedef union gl_constant_value
 struct gl_program_parameter
 {
    const char *Name;        /**< Null-terminated string */
-   gl_register_file Type:16;  /**< PROGRAM_CONSTANT or STATE_VAR */
+   gl_register_file Type:5;  /**< PROGRAM_CONSTANT or STATE_VAR */
+
+   /**
+    * We need to keep track of whether the param is padded for use in the
+    * shader cache.
+    */
+   bool Padded:1;
+
    GLenum16 DataType;         /**< GL_FLOAT, GL_FLOAT_VEC2, etc */
+
    /**
     * Number of components (1..4), or more.
     * If the number of components is greater than 4,
@@ -104,6 +112,17 @@ struct gl_program_parameter
     * A sequence of STATE_* tokens and integers to identify GL state.
     */
    gl_state_index16 StateIndexes[STATE_LENGTH];
+
+   /**
+    * Index of this parameter's uniform storage.
+    */
+   uint32_t UniformStorageIndex;
+
+   /**
+    * Index of the first uniform storage that is associated with the same
+    * variable as this parameter.
+    */
+   uint32_t MainUniformStorageIndex;
 };