1Name
2
3    MESA_copy_sub_buffer
4
5Name Strings
6
7    GLX_MESA_copy_sub_buffer
8
9Contact
10
11    Brian Paul (brian.paul 'at' tungstengraphics.com)
12
13Status
14
15    Shipping since Mesa 2.6 in February, 1998.
16
17Version
18
19    Last Modified Date:  12 January 2009
20
21Number
22
23    215
24
25Dependencies
26
27    OpenGL 1.0 or later is required.
28    GLX 1.0 or later is required.
29
30Overview
31
32    The glxCopySubBufferMESA() function copies a rectangular region
33    of the back color buffer to the front color buffer.  This can be
34    used to quickly repaint 3D windows in response to expose events
35    when the back color buffer cannot be damaged by other windows.
36
37IP Status
38
39    Open-source; freely implementable.
40
41Issues
42
43    None.
44
45New Procedures and Functions
46
47    void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
48			       int x, int y, int width, int height );
49
50New Tokens
51
52    None.
53
54Additions to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
55
56    Add to section 3.3.10 Double Buffering:
57
58    The function
59
60	 void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
61				    int x, int y, int width, int height );
62
63    may be used to copy a rectangular region of the back color buffer to
64    the front color buffer.  This can be used to quickly repaint 3D windows
65    in response to expose events when the back color buffer cannot be
66    damaged by other windows.
67
68    <x> and <y> indicates the lower-left corner of the region to copy and
69    <width> and <height> indicate the size in pixels.  Coordinate (0,0)
70    corresponds to the lower-left pixel of the window, like glReadPixels.
71
72    If dpy and drawable are the display and drawable for the calling
73    thread's current context, glXCopySubBufferMESA performs an
74    implicit glFlush before it returns.  Subsequent OpenGL commands
75    may be issued immediately after calling glXCopySubBufferMESA, but
76    are not executed until the copy is completed. 
77
78GLX Protocol
79
80    None at this time.  The extension is implemented in terms of ordinary
81    Xlib protocol inside of Mesa.
82
83Errors
84
85    None.
86
87New State
88
89    None.
90
91Revision History
92
93    12 January 2009 Ian Romanick - Added language about implicit flush
94                                   and command completion.
95    8 June 2000     Brian Paul   - initial specification
96
97