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); }