blob: 752a014b352e8d27d34fa3d04aa8607fdbc69d7d [file] [log] [blame]
Brian Paul7b2c0f92000-06-09 00:22:02 +00001Name
2
3 MESA_copy_sub_buffer
4
5Name Strings
6
7 GLX_MESA_copy_sub_buffer
8
9Contact
10
Brian Pauld3b09fe2004-03-25 01:42:41 +000011 Brian Paul (brian.paul 'at' tungstengraphics.com)
Brian Paul7b2c0f92000-06-09 00:22:02 +000012
13Status
14
15 Shipping since Mesa 2.6 in February, 1998.
16
17Version
18
Ian Romanick1f473882009-01-09 18:28:38 -080019 Last Modified Date: 12 January 2009
Brian Paul7b2c0f92000-06-09 00:22:02 +000020
21Number
22
Brian Pauldd18a4f2000-06-23 17:34:47 +000023 215
Brian Paul7b2c0f92000-06-09 00:22:02 +000024
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,
Brian Pauldd18a4f2000-06-23 17:34:47 +000048 int x, int y, int width, int height );
Brian Paul7b2c0f92000-06-09 00:22:02 +000049
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
Brian Pauldd18a4f2000-06-23 17:34:47 +000060 void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
61 int x, int y, int width, int height );
Brian Paul7b2c0f92000-06-09 00:22:02 +000062
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.
Brian Pauldd18a4f2000-06-23 17:34:47 +000071
Ian Romanick1f473882009-01-09 18:28:38 -080072 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
Brian Paul7b2c0f92000-06-09 00:22:02 +000078GLX 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
Ian Romanick1f473882009-01-09 18:28:38 -080093 12 January 2009 Ian Romanick - Added language about implicit flush
94 and command completion.
95 8 June 2000 Brian Paul - initial specification
Brian Paul7b2c0f92000-06-09 00:22:02 +000096