[Mesa-dev] [PATCH] intel: Also check renderability in intel_renderbuffer_update_wrapper

Ian Romanick idr at freedesktop.org
Thu Feb 9 17:27:14 PST 2012

On 02/06/2012 03:08 PM, Eric Anholt wrote:
> On Fri, 03 Feb 2012 16:09:25 -0700, Ian Romanick<idr at freedesktop.org>  wrote:
>> On 02/03/2012 02:11 AM, Eric Anholt wrote:
>>> On Wed,  1 Feb 2012 12:29:39 -0700, "Ian Romanick"<idr at freedesktop.org>   wrote:
>>>> From: Ian Romanick<ian.d.romanick at intel.com>
>>>> A similar check was removed in 05ab8fc.  The check is not complete
>>>> redundand because some paths, such as
>>>> _mesa_meta_check_generate_mipmap_fallback, can get to
>>>> intel_renderbuffer_update_wrapper but not get to
>>>> intel_validate_framebuffer.  This occurs when trying to generate
>>>> mipmaps for GL_SLUMINANCE8 textures.
>>> Err, are you saying that glCheckFramebufferStatusEXT in the meta is not
>>> triggering intel_validate_framebuffer?  That seems Bad.
>> The last call to intel_renderbuffer_update_wrapper before the test case
>> starts crying is not followed by a call to intel_validate_framebuffer or
>> _mesa_CheckFramebufferStatusEXT.  The backtrace is below.  It appears
>> that the texture is already bound to an FBO.  The expectation is that
>> the glTexImage1D call will automatically update the framebuffer status
>> based on any changes made to the texture.
> It doesn't look that way to me.  specifically, teximage ->
> _mesa_update_fbo_texture ->  check_rtt_cb should be setting fb->_Status
> to 0, which means that validate is supposed to be called again.

I agree.  It seems like it should, but the breakpoints don't lie. 
What's even more weird is that unbinding the texture after the FBO 
completeness check (patch coming) also "fixes" it.  I noticed this while 
poking at a different mipmap generation bug (#43325).  I'm baffled.

More information about the mesa-dev mailing list