From: Brian Paul Date: Mon, 28 Sep 2009 16:03:58 +0000 (-0600) Subject: st/mesa: check gl_texture_object::GenerateMipmap field when allocating texmem X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=05bad193f56d48384097e37e47fae3fdda85f144;p=mesa.git st/mesa: check gl_texture_object::GenerateMipmap field when allocating texmem In guess_and_alloc_texture() use the gl_texture_object::GenerateMipmap field as another hint as to whether to allocate space for a whole mipmap. --- diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index c0fba8641b3..771a0e2bbdf 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -328,10 +328,13 @@ guess_and_alloc_texture(struct st_context *st, stObj->base.MinFilter == GL_LINEAR || stImage->base._BaseFormat == GL_DEPTH_COMPONENT || stImage->base._BaseFormat == GL_DEPTH_STENCIL_EXT) && + !stObj->base.GenerateMipmap && stImage->level == firstLevel) { + /* only alloc space for a single mipmap level */ lastLevel = firstLevel; } else { + /* alloc space for a full mipmap */ GLuint l2width = util_logbase2(width); GLuint l2height = util_logbase2(height); GLuint l2depth = util_logbase2(depth);