glsl: Swap the order of glsl_type::name and ::length
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 24 Oct 2014 20:08:06 +0000 (13:08 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 10 Nov 2014 12:25:40 +0000 (04:25 -0800)
On x86-64 this saves 8 bytes of padding in the structure, and this
reduces the size of the structure to 32 bytes.

v2: Fix constructor so that GCC won't warn about the order of
initialization.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
src/glsl/glsl_types.cpp
src/glsl/glsl_types.h

index 321df2504b302e3f2e02a8ca3b3ef414cee2d822..5f9919348563e122d0037e0d8532d63e4bc23f91 100644 (file)
@@ -326,7 +326,7 @@ glsl_type::glsl_type(const glsl_type *array, unsigned length) :
    sampler_dimensionality(0), sampler_shadow(0), sampler_array(0),
    sampler_type(0), interface_packing(0),
    vector_elements(0), matrix_columns(0),
-   name(NULL), length(length)
+   length(length), name(NULL)
 {
    this->fields.array = array;
    /* Inherit the gl type of the base. The GL type is used for
index 096f5462af4d96e0524601dd52a79f564048ff85..474b1291424ed5722e702601545c5e499e5e653f 100644 (file)
@@ -157,13 +157,6 @@ struct glsl_type {
    uint8_t matrix_columns;     /**< 1, 2, 3, or 4 matrix columns. */
    /*@}*/
 
-   /**
-    * Name of the data type
-    *
-    * Will never be \c NULL.
-    */
-   const char *name;
-
    /**
     * For \c GLSL_TYPE_ARRAY, this is the length of the array.  For
     * \c GLSL_TYPE_STRUCT or \c GLSL_TYPE_INTERFACE, it is the number of
@@ -172,6 +165,13 @@ struct glsl_type {
     */
    unsigned length;
 
+   /**
+    * Name of the data type
+    *
+    * Will never be \c NULL.
+    */
+   const char *name;
+
    /**
     * Subtype of composite data types.
     */