|
From: Michel D. <mi...@da...> - 2010-01-22 16:51:22
|
On Fri, 2010-01-22 at 08:40 -0800, Keith Whitwell wrote: > It's a very rare application that can render half a frame to one sized > framebuffer and the other half to another and expect to have a > meaningful result. > > It's also incredibly difficult to write a driver that produces any > sensible result when the render-target size changes halfway through a > frame. There are a bunch of reasons for this, including the fact that > the driver will have unflushed command buffers referring to the old > size that are suddenly invalid when a new size materializes. Right, that's why I was worrying about processing the DRI2 buffer invalidate event in the middle of rendering a frame. But Francisco clarified that it's only processed when the application is actively processing X11 events, which should usually only be the case between rendering frames. > My pet take on this is that we should go one step further and modify > GLX semantics to allow a stretch blit on swapbuffers to scale the > rendered image up/down to the new window size. I think it's better to follow the X11 window gravity than to scale. DRI2 may accidentally already be doing this for the majority of apps which use the default gravity. :) -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer |