summaryrefslogtreecommitdiff
path: root/docs/MESA_copy_sub_buffer.spec
blob: 6402a5ff425ce2dd8c2828d92a4f315490f97f9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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