<div dir="ltr">On Thu, Feb 8, 2018 at 6:18 PM, Marek Olšák <span dir="ltr"><<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>><br>
<br>
80 -> 40 bytes.<br>
---<br>
 src/mesa/main/mtypes.h | 47 ++++++++++++++++++++++++------<wbr>-----------------<br>
 1 file changed, 24 insertions(+), 23 deletions(-)<br>
<br>
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h<br>
index a589bd4..b619d5c 100644<br>
--- a/src/mesa/main/mtypes.h<br>
+++ b/src/mesa/main/mtypes.h<br>
@@ -958,49 +958,50 @@ typedef enum<br>
 #define TEXTURE_1D_BIT       (1 << TEXTURE_1D_INDEX)<br>
 /*@}*/<br>
<br>
<br>
 /**<br>
  * Texture image state.  Drivers will typically create a subclass of this<br>
  * with extra fields for memory buffers, etc.<br>
  */<br>
 struct gl_texture_image<br>
 {<br>
-   GLint InternalFormat;       /**< Internal format as given by the user */<br>
+   struct gl_texture_object *TexObject;  /**< Pointer back to parent object */<br>
+<br>
+   GLenum16 InternalFormat;    /**< Internal format as given by the user */<br>
    GLenum16 _BaseFormat;       /**< Either GL_RGB, GL_RGBA, GL_ALPHA,<br>
-                                 *   GL_LUMINANCE, GL_LUMINANCE_ALPHA,<br>
-                                 *   GL_INTENSITY, GL_DEPTH_COMPONENT or<br>
-                                 *   GL_DEPTH_STENCIL_EXT only. Used for<br>
-                                 *   choosing TexEnv arithmetic.<br>
-                                 */<br>
-   mesa_format TexFormat;         /**< The actual texture memory format */<br>
-<br>
-   GLuint Border;              /**< 0 or 1 */<br>
-   GLuint Width;               /**< = 2^WidthLog2 + 2*Border */<br>
-   GLuint Height;              /**< = 2^HeightLog2 + 2*Border */<br>
-   GLuint Depth;               /**< = 2^DepthLog2 + 2*Border */<br>
-   GLuint Width2;              /**< = Width - 2*Border */<br>
-   GLuint Height2;             /**< = Height - 2*Border */<br>
-   GLuint Depth2;              /**< = Depth - 2*Border */<br>
-   GLuint WidthLog2;           /**< = log2(Width2) */<br>
-   GLuint HeightLog2;          /**< = log2(Height2) */<br>
-   GLuint DepthLog2;           /**< = log2(Depth2) */<br>
-   GLuint MaxNumLevels;                /**< = maximum possible number of mipmap<br>
+                                *   GL_LUMINANCE, GL_LUMINANCE_ALPHA,<br>
+                                *   GL_INTENSITY, GL_DEPTH_COMPONENT or<br>
+                                *   GL_DEPTH_STENCIL_EXT only. Used for<br>
+                                *   choosing TexEnv arithmetic.<br>
+                                */<br>
+   mesa_format TexFormat:16;    /**< The actual texture memory format */<br>
+<br>
+   GLushort Width;             /**< = 2^WidthLog2 + 2*Border */<br></blockquote><div><br></div><div>I don't have time to look right now, but as with pipe_resource::width0, does this have to stay GLuint for buffer objects?<br><br></div><div>-Brian<br>  <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+   GLushort Height;            /**< = 2^HeightLog2 + 2*Border */<br>
+   GLushort Depth;             /**< = 2^DepthLog2 + 2*Border */<br>
+   GLushort Width2;            /**< = Width - 2*Border */<br>
+   GLushort Height2;           /**< = Height - 2*Border */<br>
+   GLushort Depth2;            /**< = Depth - 2*Border */<br>
+   GLubyte WidthLog2;          /**< = log2(Width2) */<br>
+   GLubyte HeightLog2;         /**< = log2(Height2) */<br>
+   GLubyte DepthLog2;          /**< = log2(Depth2) */<br>
+   GLubyte Border;             /**< 0 or 1 */<br>
+   GLubyte MaxNumLevels;       /**< = maximum possible number of mipmap<br>
                                        levels, computed from the dimensions */<br>
<br>
-   struct gl_texture_object *TexObject;  /**< Pointer back to parent object */<br>
-   GLuint Level;                /**< Which mipmap level am I? */<br>
+   GLubyte Level;                /**< Which mipmap level am I? */<br>
    /** Cube map face: index into gl_texture_object::Image[] array */<br>
-   GLuint Face;<br>
+   GLubyte Face;<br>
<br>
    /** GL_ARB_texture_multisample */<br>
-   GLuint NumSamples;            /**< Sample count, or 0 for non-multisample */<br>
+   GLubyte NumSamples;            /**< Sample count, or 0 for non-multisample */<br>
    GLboolean FixedSampleLocations; /**< Same sample locations for all pixels? */<br>
 };<br>
<br>
<br>
 /**<br>
  * Indexes for cube map faces.<br>
  */<br>
 typedef enum<br>
 {<br>
    FACE_POS_X = 0,<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.7.4<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>