summaryrefslogtreecommitdiff
path: root/docs/specs/MESA_release_buffers.spec
blob: 52d1e5a9c7c67afd886e61aac05d4a40f990f1f5 (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
Name

    MESA_release_buffers

Name Strings

    GLX_MESA_release_buffers

Contact

    Brian Paul (brian.paul 'at' tungstengraphics.com)

Status

    Shipping since Mesa 2.0 in October, 1996.

Version

    Last Modified Date:  8 June 2000

Number

    217

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 ancillary 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 accumu-
    lation 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 ancillary 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