On Thu, Feb 8, 2018 at 6:18 PM, Marek Olšák <mar...@gmail.com> wrote:
> From: Marek Olšák <marek.ol...@amd.com> > > 80 -> 40 bytes. > --- > src/mesa/main/mtypes.h | 47 ++++++++++++++++++++++++------ > ----------------- > 1 file changed, 24 insertions(+), 23 deletions(-) > > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index a589bd4..b619d5c 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -958,49 +958,50 @@ typedef enum > #define TEXTURE_1D_BIT (1 << TEXTURE_1D_INDEX) > /*@}*/ > > > /** > * Texture image state. Drivers will typically create a subclass of this > * with extra fields for memory buffers, etc. > */ > 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 */ > I don't have time to look right now, but as with pipe_resource::width0, does this have to stay GLuint for buffer objects? -Brian > + 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? */ > }; > > > /** > * Indexes for cube map faces. > */ > typedef enum > { > FACE_POS_X = 0, > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev