OSDN Git Service

mesa: fix a render to texture FBO validation bug
authorBrian Paul <brianp@vmware.com>
Thu, 29 Jan 2009 16:20:18 +0000 (09:20 -0700)
committerBrian Paul <brianp@vmware.com>
Thu, 29 Jan 2009 16:20:18 +0000 (09:20 -0700)
commit2897cee99fb877e1f3cd9a881a61418c9c31867f
tree26630bff67e7bb69ded819a1ab09b6ebc4726f09
parent425c803c039735aaaeb70f1613268fd4909862dc
mesa: fix a render to texture FBO validation bug

When glTexImage() is called we need to re-validate any FBOs that point to
the texture (i.e. render-to-texture) since changing the texture's size/format
will effect FBO completeness.

We don't keep a list of all FBOs rendering into each texture (which would be
a bit messy) so we check all FBOs in existance.  To optimize this, the
gl_texture_object->_RenderToTexture flag is used to avoid checking textures
that have never been used as renderbuffers.  So, we only walk over all FBOs
(there's usually only a few) when glTexImage() modifies a RTT texture.

Fixes a bug seen in shadowtex.c when toggling packed depth/stencil mode.
src/mesa/main/fbobject.c
src/mesa/main/mtypes.h
src/mesa/main/teximage.c