11591693c7b415e9869157c711fe11263c95d74eDavid LiName
21591693c7b415e9869157c711fe11263c95d74eDavid Li
31591693c7b415e9869157c711fe11263c95d74eDavid Li    MESA_resize_buffers
41591693c7b415e9869157c711fe11263c95d74eDavid Li
51591693c7b415e9869157c711fe11263c95d74eDavid LiName Strings
61591693c7b415e9869157c711fe11263c95d74eDavid Li
71591693c7b415e9869157c711fe11263c95d74eDavid Li    GL_MESA_resize_buffers
81591693c7b415e9869157c711fe11263c95d74eDavid Li
91591693c7b415e9869157c711fe11263c95d74eDavid LiContact
101591693c7b415e9869157c711fe11263c95d74eDavid Li
111591693c7b415e9869157c711fe11263c95d74eDavid Li    Brian Paul (brian.paul 'at' tungstengraphics.com)
121591693c7b415e9869157c711fe11263c95d74eDavid Li
131591693c7b415e9869157c711fe11263c95d74eDavid LiStatus
141591693c7b415e9869157c711fe11263c95d74eDavid Li
151591693c7b415e9869157c711fe11263c95d74eDavid Li    Shipping (since Mesa version 2.2)
161591693c7b415e9869157c711fe11263c95d74eDavid Li
171591693c7b415e9869157c711fe11263c95d74eDavid LiVersion
181591693c7b415e9869157c711fe11263c95d74eDavid Li
191591693c7b415e9869157c711fe11263c95d74eDavid Li
201591693c7b415e9869157c711fe11263c95d74eDavid LiNumber
211591693c7b415e9869157c711fe11263c95d74eDavid Li
221591693c7b415e9869157c711fe11263c95d74eDavid Li    196
231591693c7b415e9869157c711fe11263c95d74eDavid Li
241591693c7b415e9869157c711fe11263c95d74eDavid LiDependencies
251591693c7b415e9869157c711fe11263c95d74eDavid Li
261591693c7b415e9869157c711fe11263c95d74eDavid Li    Mesa 2.2 or later is required.
271591693c7b415e9869157c711fe11263c95d74eDavid Li
281591693c7b415e9869157c711fe11263c95d74eDavid LiOverview
291591693c7b415e9869157c711fe11263c95d74eDavid Li
301591693c7b415e9869157c711fe11263c95d74eDavid Li    Mesa is often used as a client library with no integration with
311591693c7b415e9869157c711fe11263c95d74eDavid Li    the computer's window system (an X server, for example).  And since
321591693c7b415e9869157c711fe11263c95d74eDavid Li    Mesa does not have an event loop nor window system callbacks, it
331591693c7b415e9869157c711fe11263c95d74eDavid Li    cannot properly respond to window system events.  In particular,
341591693c7b415e9869157c711fe11263c95d74eDavid Li    Mesa cannot automatically detect when a window has been resized.
351591693c7b415e9869157c711fe11263c95d74eDavid Li
361591693c7b415e9869157c711fe11263c95d74eDavid Li    Mesa's glViewport command queries the current window size and updates
371591693c7b415e9869157c711fe11263c95d74eDavid Li    its internal data structors accordingly.  This normally works fine
381591693c7b415e9869157c711fe11263c95d74eDavid Li    since most applications call glViewport in responce to window size
391591693c7b415e9869157c711fe11263c95d74eDavid Li    changes.
401591693c7b415e9869157c711fe11263c95d74eDavid Li
411591693c7b415e9869157c711fe11263c95d74eDavid Li    In some situations, however, the application may not call glViewport
421591693c7b415e9869157c711fe11263c95d74eDavid Li    when a window size changes but would still like Mesa to adjust to
431591693c7b415e9869157c711fe11263c95d74eDavid Li    the new window size.  This extension exports a new function to solve
441591693c7b415e9869157c711fe11263c95d74eDavid Li    this problem.
451591693c7b415e9869157c711fe11263c95d74eDavid Li
461591693c7b415e9869157c711fe11263c95d74eDavid LiNew Procedures and Functions
471591693c7b415e9869157c711fe11263c95d74eDavid Li
481591693c7b415e9869157c711fe11263c95d74eDavid Li    void glResizeBuffersMESA( void )
491591693c7b415e9869157c711fe11263c95d74eDavid Li
501591693c7b415e9869157c711fe11263c95d74eDavid LiNew Tokens
511591693c7b415e9869157c711fe11263c95d74eDavid Li
521591693c7b415e9869157c711fe11263c95d74eDavid Li    none
531591693c7b415e9869157c711fe11263c95d74eDavid Li
541591693c7b415e9869157c711fe11263c95d74eDavid LiAdditions to the OpenGL Specification (no particular section)
551591693c7b415e9869157c711fe11263c95d74eDavid Li
561591693c7b415e9869157c711fe11263c95d74eDavid Li    The glResizeBuffersMESA command may be called when the client
571591693c7b415e9869157c711fe11263c95d74eDavid Li    determines that a window has been resized.  Calling
581591693c7b415e9869157c711fe11263c95d74eDavid Li    glResizeBuffersMESA causes Mesa to query the current window size
591591693c7b415e9869157c711fe11263c95d74eDavid Li    and adjust its internal data structures.  This may include
601591693c7b415e9869157c711fe11263c95d74eDavid Li    reallocating depth, stencil, alpha and accumulation buffers.
611591693c7b415e9869157c711fe11263c95d74eDavid Li
621591693c7b415e9869157c711fe11263c95d74eDavid LiAdditions to the AGL/GLX/WGL Specifications
631591693c7b415e9869157c711fe11263c95d74eDavid Li
641591693c7b415e9869157c711fe11263c95d74eDavid Li    None
651591693c7b415e9869157c711fe11263c95d74eDavid Li
661591693c7b415e9869157c711fe11263c95d74eDavid LiErrors
671591693c7b415e9869157c711fe11263c95d74eDavid Li
681591693c7b415e9869157c711fe11263c95d74eDavid Li    INVALID_OPERATION is generated if ResizeBuffersMESA is called betweeen
691591693c7b415e9869157c711fe11263c95d74eDavid Li    Begin and End.
701591693c7b415e9869157c711fe11263c95d74eDavid Li
711591693c7b415e9869157c711fe11263c95d74eDavid LiNew State
721591693c7b415e9869157c711fe11263c95d74eDavid Li
731591693c7b415e9869157c711fe11263c95d74eDavid Li    None.
741591693c7b415e9869157c711fe11263c95d74eDavid Li
751591693c7b415e9869157c711fe11263c95d74eDavid LiNew Implementation Dependent State
761591693c7b415e9869157c711fe11263c95d74eDavid Li
771591693c7b415e9869157c711fe11263c95d74eDavid Li    None.
781591693c7b415e9869157c711fe11263c95d74eDavid Li
791591693c7b415e9869157c711fe11263c95d74eDavid LiRevision History
801591693c7b415e9869157c711fe11263c95d74eDavid Li
811591693c7b415e9869157c711fe11263c95d74eDavid Li  * Revision 1.0 - Initial specification
82