17b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulName
27b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
37b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    MESA_release_buffers
47b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
57b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulName Strings
67b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
77b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    GLX_MESA_release_buffers
87b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
97b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulContact
107b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
11d3b09fe29b112ddf114d14849e917befafd8387aBrian Paul    Brian Paul (brian.paul 'at' tungstengraphics.com)
127b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
137b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulStatus
147b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
157b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    Shipping since Mesa 2.0 in October, 1996.
167b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
177b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulVersion
187b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
197b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    Last Modified Date:  8 June 2000
207b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
217b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulNumber
227b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
23dd18a4f335984081ccf5c2145b7983168ab3e074Brian Paul    217
247b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
257b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulDependencies
267b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
277b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    OpenGL 1.0 or later is required.
287b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    GLX 1.0 or later is required.
297b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
307b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulOverview
317b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
327b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    Mesa's implementation of GLX is entirely implemented on the client side.
337b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    Therefore, Mesa cannot immediately detect when an X window or pixmap is
34ae5776c41f12515bb73c07ee2a0aed56cdd1a1efNicolas Kaiser    destroyed in order to free any ancillary data associated with the window
357b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    or pixmap.
367b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
377b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    The glxMesaReleaseBuffers() function can be used to explicitly indicate
38ae5776c41f12515bb73c07ee2a0aed56cdd1a1efNicolas Kaiser    when the back color buffer, depth buffer, stencil buffer, and/or accumu-
39ae5776c41f12515bb73c07ee2a0aed56cdd1a1efNicolas Kaiser    lation buffer associated with a drawable can be freed.
407b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
417b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulIP Status
427b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
437b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    Open-source; freely implementable.
447b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
457b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulIssues
467b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
477b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    None.
487b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
497b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulNew Procedures and Functions
507b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
517b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
527b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
537b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulNew Tokens
547b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
557b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    None.
567b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
577b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulAdditions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
587b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
597b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    The function
607b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
61dd18a4f335984081ccf5c2145b7983168ab3e074Brian Paul	Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
627b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
63ae5776c41f12515bb73c07ee2a0aed56cdd1a1efNicolas Kaiser    causes all software ancillary buffers (back buffer, depth, stencil,
647b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    accum, etc) associated with the named drawable to be immediately
657b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    deallocated.  True is returned if <d> is a valid Mesa GLX drawable,
667b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    else False is returned.  After calling glXReleaseBuffersMESA, the
677b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    drawable should no longer be used for GL rendering.  Results of
687b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    attempting to do so are undefined.
697b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
707b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
717b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulGLX Protocol
727b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
737b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    None, since this is a client-side operation.
747b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
757b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulErrors
767b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
777b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    None.
787b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
797b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulNew State
807b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
817b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    None.
827b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
837b2c0f9148eb7eb30326173899ed366fcef8d437Brian PaulRevision History
847b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul
857b2c0f9148eb7eb30326173899ed366fcef8d437Brian Paul    8 June 2000 - initial specification
86