On 03/07/2011 02:46 PM, Ian Romanick wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/07/2011 07:16 AM, Brian Paul wrote:
On 03/05/2011 09:26 PM, Marek Olšák wrote:
RenderTexture doesn't have to be called in invalidate_rb, I guess.
---

The patch looks good but there's one simple optimization that could be
made.  If glRenderBufferStorage() is called with a new width/height but
the internalFormat stays the same, we wouldn't have to invalidate the
parent FBO(s).

I think changing the size of a renderbuffer would be more common than
channging its format.

That's only true if the driver supports ARB_fbo.  With EXT_fbo a
framebuffer is incomplete if the attachments have mismatched sizes.
This is one of the error conditions that was removed in the ARB version.

Grrr, right. Even for GL_ARB_fbo we'll need to revalidate FBOs when renderbuffers are resized because we compute the FBO's width/height as the min of the attached renderbuffers.

I'm a little concerned about the efficiency of walking over all FBOs whenever we change a renderbuffer like this. If it turns out to be a problem when there's many FBOs we may need to keep a list of parent FBOs for each renderbuffer.

Marek, your first patch is probably what we should commit.


There any drivers that support EXT_fbo and not ARB_fbo?  If there are,
can we fix them? :)  This would allow some other code cleanups as well.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to