From: Marek Olšák Date: Wed, 15 Nov 2017 23:44:43 +0000 (+0100) Subject: mesa: reduce the size of gl_image_unit (v2) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=78f1decc95edee0c774098e29582d5bb9dec39a4;p=mesa.git mesa: reduce the size of gl_image_unit (v2) gl_context::ImageUnits: 6144 -> 4608 bytes v2: use ASSERT_BITFIELD_SIZE Reviewed-by: Brian Paul --- diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 23fe45920cf..f829fa3ff05 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4685,7 +4685,7 @@ struct gl_image_unit /** * Level of the texture object bound to this unit. */ - GLuint Level; + GLubyte Level; /** * \c GL_TRUE if the whole level is bound as an array of layers, \c @@ -4698,13 +4698,13 @@ struct gl_image_unit * Layer of the texture object bound to this unit as specified by the * application. */ - GLuint Layer; + GLushort Layer; /** - * Layer of the texture object bound to this unit, or zero if the - * whole level is bound. + * Layer of the texture object bound to this unit, or zero if + * Layered == false. */ - GLuint _Layer; + GLushort _Layer; /** * Access allowed to this texture image. Either \c GL_READ_ONLY, @@ -4722,8 +4722,7 @@ struct gl_image_unit /** * Mesa format corresponding to \c Format. */ - mesa_format _ActualFormat; - + mesa_format _ActualFormat:16; }; /** diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c index c722b327de2..596eadd4f85 100644 --- a/src/mesa/main/shaderimage.c +++ b/src/mesa/main/shaderimage.c @@ -464,6 +464,8 @@ _mesa_init_image_units(struct gl_context *ctx) { unsigned i; + ASSERT_BITFIELD_SIZE(struct gl_image_unit, Format, MESA_FORMAT_COUNT); + for (i = 0; i < ARRAY_SIZE(ctx->ImageUnits); ++i) ctx->ImageUnits[i] = _mesa_default_image_unit(ctx); }