@@ -0,0 +1,88 @@ | |||
Name | |||
MESA_copy_sub_buffer | |||
Name Strings | |||
GLX_MESA_copy_sub_buffer | |||
Contact | |||
Brian Paul (brian 'at' mesa3d.org) | |||
Status | |||
Shipping since Mesa 2.6 in February, 1998. | |||
Version | |||
Last Modified Date: 8 June 2000 | |||
Number | |||
??? | |||
Dependencies | |||
OpenGL 1.0 or later is required. | |||
GLX 1.0 or later is required. | |||
Overview | |||
The glxCopySubBufferMESA() function copies a rectangular region | |||
of the back color buffer to the front color buffer. This can be | |||
used to quickly repaint 3D windows in response to expose events | |||
when the back color buffer cannot be damaged by other windows. | |||
IP Status | |||
Open-source; freely implementable. | |||
Issues | |||
None. | |||
New Procedures and Functions | |||
void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, | |||
int x, int y, int width, int height ); | |||
New Tokens | |||
None. | |||
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | |||
Add to section 3.3.10 Double Buffering: | |||
The function | |||
void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, | |||
int x, int y, int width, int height ); | |||
may be used to copy a rectangular region of the back color buffer to | |||
the front color buffer. This can be used to quickly repaint 3D windows | |||
in response to expose events when the back color buffer cannot be | |||
damaged by other windows. | |||
<x> and <y> indicates the lower-left corner of the region to copy and | |||
<width> and <height> indicate the size in pixels. Coordinate (0,0) | |||
corresponds to the lower-left pixel of the window, like glReadPixels. | |||
GLX Protocol | |||
None at this time. The extension is implemented in terms of ordinary | |||
Xlib protocol inside of Mesa. | |||
Errors | |||
None. | |||
New State | |||
None. | |||
Revision History | |||
8 June 2000 - initial specification | |||
@@ -0,0 +1,90 @@ | |||
Name | |||
MESA_copy_sub_buffer | |||
Name Strings | |||
GLX_MESA_copy_sub_buffer | |||
Contact | |||
Brian Paul (brian 'at' mesa3d.org) | |||
Status | |||
Shipping since Mesa 1.2.8 in May, 1996. | |||
Version | |||
Last Modified Date: 8 June 2000 | |||
Number | |||
??? | |||
Dependencies | |||
OpenGL 1.0 or later is required. | |||
GLX 1.0 or later is required. | |||
Overview | |||
Since Mesa allows RGB rendering into drawables with PseudoColor, | |||
StaticColor, GrayScale and StaticGray visuals, Mesa needs a colormap | |||
in order to compute pixel values during rendering. | |||
The colormap associated with a window can be queried with normal | |||
Xlib functions but there is no colormap associated with pixmaps. | |||
The glXCreateGLXPixmapMESA function is an alternative to glXCreateGLXPixmap | |||
which allows specification of a colormap. | |||
IP Status | |||
Open-source; freely implementable. | |||
Issues | |||
None. | |||
New Procedures and Functions | |||
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, | |||
Pixmap pixmap, Colormap cmap ); | |||
New Tokens | |||
None. | |||
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | |||
Add to section 3.4.2 Off Screen Rendering | |||
The Mesa implementation of GLX allows RGB rendering into X windows and | |||
pixmaps of any visual class, not just TrueColor or DirectColor. In order | |||
to compute pixel values from RGB values Mesa requires a colormap. | |||
The function | |||
GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual, | |||
Pixmap pixmap, Colormap cmap ); | |||
allows one to create a GLXPixmap with a specific colormap. The image | |||
rendered into the pixmap may then be copied to a window (which uses the | |||
same colormap and visual) with the expected results. | |||
GLX Protocol | |||
None since this is a client-side extension. | |||
Errors | |||
None. | |||
New State | |||
None. | |||
Revision History | |||
8 June 2000 - initial specification |
@@ -0,0 +1,85 @@ | |||
Name | |||
MESA_release_buffers | |||
Name Strings | |||
GLX_MESA_release_buffers | |||
Contact | |||
Brian Paul (brian 'at' mesa3d.org) | |||
Status | |||
Shipping since Mesa 2.0 in October, 1996. | |||
Version | |||
Last Modified Date: 8 June 2000 | |||
Number | |||
??? | |||
Dependencies | |||
OpenGL 1.0 or later is required. | |||
GLX 1.0 or later is required. | |||
Overview | |||
Mesa's implementation of GLX is entirely implemented on the client side. | |||
Therefore, Mesa cannot immediately detect when an X window or pixmap is | |||
destroyed in order to free any ancilliary data associated with the window | |||
or pixmap. | |||
The glxMesaReleaseBuffers() function can be used to explicitly indicate | |||
when the back color buffer, depth buffer, stencil buffer, and/or accum- | |||
ulation buffer associated with a drawable can be freed. | |||
IP Status | |||
Open-source; freely implementable. | |||
Issues | |||
None. | |||
New Procedures and Functions | |||
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); | |||
New Tokens | |||
None. | |||
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | |||
The function | |||
Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ); | |||
causes all software ancilliary buffers (back buffer, depth, stencil, | |||
accum, etc) associated with the named drawable to be immediately | |||
deallocated. True is returned if <d> is a valid Mesa GLX drawable, | |||
else False is returned. After calling glXReleaseBuffersMESA, the | |||
drawable should no longer be used for GL rendering. Results of | |||
attempting to do so are undefined. | |||
GLX Protocol | |||
None, since this is a client-side operation. | |||
Errors | |||
None. | |||
New State | |||
None. | |||
Revision History | |||
8 June 2000 - initial specification |
@@ -0,0 +1,85 @@ | |||
Name | |||
MESA_set_3dfx_mode | |||
Name Strings | |||
GLX_MESA_set_3dfx_mode | |||
Contact | |||
Brian Paul (brian 'at' mesa3d.org) | |||
Status | |||
Shipping since Mesa 2.6 in February, 1998. | |||
Version | |||
Last Modified Date: 8 June 2000 | |||
Number | |||
??? | |||
Dependencies | |||
OpenGL 1.0 or later is required. | |||
GLX 1.0 or later is required. | |||
Overview | |||
The Mesa Glide driver allows full-screen rendering or rendering into | |||
an X window. The glXSet3DfxModeMESA() function allows an application | |||
to switch between full-screen and windowed rendering. | |||
IP Status | |||
Open-source; freely implementable. | |||
Issues | |||
None. | |||
New Procedures and Functions | |||
GLboolean glXSet3DfxModeMESA( GLint mode ); | |||
New Tokens | |||
GLX_3DFX_WINDOW_MODE_MESA 0x1 | |||
GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 | |||
Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors) | |||
The Mesa Glide device driver allows either rendering in full-screen | |||
mode or rendering into an X window. An application can switch between | |||
full-screen and window rendering with the command: | |||
GLboolean glXSet3DfxModeMESA( GLint mode ); | |||
<mode> may either be GLX_3DFX_WINDOW_MODE_MESA to indicate window | |||
rendering or GLX_3DFX_FULLSCREEN_MODE_MESA to indicate full-screen mode. | |||
GL_TRUE is returned if <mode> is valid and the operation completed | |||
normally. GL_FALSE is returned if <mode> is invalid or if the Glide | |||
driver is not being used. | |||
Note that only one drawable and context can be created at any given | |||
time with the Mesa Glide driver. | |||
GLX Protocol | |||
None since this is a client-side extension. | |||
Errors | |||
None. | |||
New State | |||
None. | |||
Revision History | |||
8 June 2000 - initial specification |