mesa/st: Fix piglit read-front with new drawable invalidation v2

When the state tracker adds a front buffer, nothing triggers a validate
drawable call, since the state tracker manager is never notified.

Force a validate drawable call by invalidating the framebuffer's stamp, so
that the window system's renderbuffer (if any) is picked up.

This fixes bug 38988
https://bugs.freedesktop.org/show_bug.cgi?id=38988

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
This commit is contained in:
Thomas Hellstrom
2011-07-08 08:26:29 +02:00
parent 8c1a2e128e
commit a65e970603
+9
View File
@@ -918,6 +918,15 @@ st_manager_add_color_renderbuffer(struct st_context *st,
return FALSE;
st_framebuffer_update_attachments(stfb);
/*
* Force a call to the state tracker manager to validate the
* new renderbuffer. It might be that there is a window system
* renderbuffer available.
*/
if(stfb->iface)
stfb->iface_stamp = p_atomic_read(&stfb->iface->stamp) - 1;
st_invalidate_state(st->ctx, _NEW_BUFFERS);
return TRUE;