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