mesa: reduce the size of gl_texture_image
authorMarek Olšák <marek.olsak@amd.com>
Thu, 16 Nov 2017 03:46:02 +0000 (04:46 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 13 Feb 2018 00:00:45 +0000 (01:00 +0100)
80 -> 40 bytes.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/mtypes.h

index a589bd4bb297cece8db1bcd0cde00b954afd0c44..b619d5c02d7d1dfb9541c26d3360adfddb80286c 100644 (file)
@@ -965,35 +965,36 @@ typedef enum
  */
 struct gl_texture_image
 {
-   GLint InternalFormat;       /**< Internal format as given by the user */
+   struct gl_texture_object *TexObject;  /**< Pointer back to parent object */
+
+   GLenum16 InternalFormat;    /**< Internal format as given by the user */
    GLenum16 _BaseFormat;       /**< Either GL_RGB, GL_RGBA, GL_ALPHA,
-                                 *   GL_LUMINANCE, GL_LUMINANCE_ALPHA,
-                                 *   GL_INTENSITY, GL_DEPTH_COMPONENT or
-                                 *   GL_DEPTH_STENCIL_EXT only. Used for
-                                 *   choosing TexEnv arithmetic.
-                                 */
-   mesa_format TexFormat;         /**< The actual texture memory format */
-
-   GLuint Border;              /**< 0 or 1 */
-   GLuint Width;               /**< = 2^WidthLog2 + 2*Border */
-   GLuint Height;              /**< = 2^HeightLog2 + 2*Border */
-   GLuint Depth;               /**< = 2^DepthLog2 + 2*Border */
-   GLuint Width2;              /**< = Width - 2*Border */
-   GLuint Height2;             /**< = Height - 2*Border */
-   GLuint Depth2;              /**< = Depth - 2*Border */
-   GLuint WidthLog2;           /**< = log2(Width2) */
-   GLuint HeightLog2;          /**< = log2(Height2) */
-   GLuint DepthLog2;           /**< = log2(Depth2) */
-   GLuint MaxNumLevels;                /**< = maximum possible number of mipmap
+                                *   GL_LUMINANCE, GL_LUMINANCE_ALPHA,
+                                *   GL_INTENSITY, GL_DEPTH_COMPONENT or
+                                *   GL_DEPTH_STENCIL_EXT only. Used for
+                                *   choosing TexEnv arithmetic.
+                                */
+   mesa_format TexFormat:16;    /**< The actual texture memory format */
+
+   GLushort Width;             /**< = 2^WidthLog2 + 2*Border */
+   GLushort Height;            /**< = 2^HeightLog2 + 2*Border */
+   GLushort Depth;             /**< = 2^DepthLog2 + 2*Border */
+   GLushort Width2;            /**< = Width - 2*Border */
+   GLushort Height2;           /**< = Height - 2*Border */
+   GLushort Depth2;            /**< = Depth - 2*Border */
+   GLubyte WidthLog2;          /**< = log2(Width2) */
+   GLubyte HeightLog2;         /**< = log2(Height2) */
+   GLubyte DepthLog2;          /**< = log2(Depth2) */
+   GLubyte Border;             /**< 0 or 1 */
+   GLubyte MaxNumLevels;       /**< = maximum possible number of mipmap
                                        levels, computed from the dimensions */
 
-   struct gl_texture_object *TexObject;  /**< Pointer back to parent object */
-   GLuint Level;                /**< Which mipmap level am I? */
+   GLubyte Level;                /**< Which mipmap level am I? */
    /** Cube map face: index into gl_texture_object::Image[] array */
-   GLuint Face;
+   GLubyte Face;
 
    /** GL_ARB_texture_multisample */
-   GLuint NumSamples;            /**< Sample count, or 0 for non-multisample */
+   GLubyte NumSamples;            /**< Sample count, or 0 for non-multisample */
    GLboolean FixedSampleLocations; /**< Same sample locations for all pixels? */
 };