From: Brian P. <br...@vm...> - 2010-03-11 16:56:32
|
Brian Paul wrote: > Luca Barbieri wrote: >> I've looked into the issue, and found a workaround by looking at what >> st_renderbuffer_alloc_storage (which is called to create the depth >> buffer with ST_SURFACE_DEPTH != BUFFER_DEPTH) does. >> >> Adding: >> if(ctx) ctx->NewState |= _NEW_BUFFERS; >> >> at the end of st_set_framebuffer_surface seems to solve the warsow >> problem with no other regressions. >> >> Brian, is this the right fix? > > That's probably the right direction, but I think there's several other > things to be fixed in st_set_framebuffer_surface(). I'll have a patch > soon... OK, here's a patch which sets that flag, and: 1. always allocates the renderbuffer if it's not already present. 2. removes the framebuffer size update code. Core Mesa will do this during state validation if _NEW_BUFFERS is set. Please test. Thanks. -Brian |