[Bf-taskforce25] Fix for partial buffer swaps

Ton Roosendaal ton at blender.org
Sat Dec 27 13:49:53 CET 2008


Hi,

Interesting discovery! It doesn't belong there in the code though. :)
Further it's a MS extension, apparently availble in some (most?) linux 
distros.

It should be added, via glew, in wm_window.c I guess, either for every 
swap_buffers, either on window creation or resize? No idea, someone 
should test this.
Brecht, can you try this line on some locations, via glew:

glAddSwapHintRectWIN( 0, 0, win->sizex, win->sizey);

While searching I found this too:
http://www.opengl.org/registry/specs/OML/glx_swap_method.txt

We should set GLX_SWAP_METHOD_OML to GLX_SWAP_COPY_OML

Diego, can you check that, also correctly using extensions?

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation   ton at blender.org    www.blender.org
Blender Institute BV  Entrepotdok 57A  1018AD Amsterdam The Netherlands

On 26 Dec, 2008, at 23:21, Domino Marama wrote:

> I've attached a patch which fixes a problem with IBM cards on Windows
> and ATI on Linux (maybe more too) where the complete back buffer is
> copied rather than just the changed portion. The problem comes because
> the GLX spec does not state whether glXSwapBuffers() takes the scissor
> rectangle into account, so it can't be trusted to specify the update
> area.
>
> I removed the previous IBM workaround as this method should work for 
> all
> affected opengl implementations (as long as the GL_WIN_swap_hint
> extension is available).
>
> <bufferswap.patch>_______________________________________________
> Bf-taskforce25 mailing list
> Bf-taskforce25 at blender.org
> http://lists.blender.org/mailman/listinfo/bf-taskforce25



More information about the Bf-taskforce25 mailing list