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