Michel Dänzer wrote: > On Thu, 2007-10-11 at 18:44 -0400, Kristian Høgsberg wrote: >> On 10/11/07, Keith Whitwell <[EMAIL PROTECTED]> wrote: >> >>> 3) Share buffers with a reference counting scheme. When a client >>> notices the buffer needs a resize, do the resize and adjust refcounts - >>> other clients continue with the older buffer. What happens when a >>> client on the older buffer calls swapbuffers -- I'm sure we can figure >>> out what the correct behaviour should be. >> 3) Sounds like the best solution and it's basically what I'm >> proposing. > > I agree, it looks like this can provide the benefits of shared > drawable-private renderbuffers (support for cooperative rendering > schemes, no waste of renderbuffer resources) without compromising the > general benefits of private renderbuffers.
Yes, I'm just interested to understand what happens when one of the clients on the old, orphaned buffer calls swapbuffers... All the buffers should be swapped, right? Large and small? How does that work? If the answer is that we just do the swap on the largest buffer, then you have to wonder what the point of keeping the smaller ones around is? IE - if there are multiple clients rendering to a buffer and that buffer is resized bigger, the first client to notice will allocate larger backbuffers and down-reference the smaller ones. The other clients keep rendering to the smaller ones. The next time swapbuffers is called, what happens to the results of the rendering on the smaller buffers? Note that this question only comes up in terms of multiple clients. For a single client the behaviour is basically the same as what we're doing in the client-side private-backbuffers code right now - the single client will notice there has been a resize and organize for new, larger buffers to be allocated. From that point on it will draw into the larger ones. So the question is - how much effort do we want to put into the case where there are multiple clients PLUS buffer resizes. Multiple clients is a rare case in itself, and resizes are a transient varient on a rare case. Also just what can we gain by putting effort into that case -- do we get a behaviour that is actually any more sensible than just thowing away the rendering of the additional clients until they get themselves sorted out with the new buffer size??? Keith ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel