1Name
2
3    MESA_agp_offset
4
5Name Strings
6
7    GLX_MESA_agp_offset
8
9Contact
10
11    Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
12    Keith Whitwell, Tungsten Graphics, Inc.  (keith 'at' tungstengraphics.com)
13
14Status
15
16    Shipping (Mesa 4.0.4 and later.  Only implemented in particular
17    XFree86/DRI drivers.)
18
19Version
20
21    1.0
22
23Number
24
25    TBD
26
27Dependencies
28
29    OpenGL 1.0 or later is required
30    GLX_NV_vertex_array_range is required.
31    This extensions is written against the OpenGL 1.4 Specification.
32
33Overview
34
35    This extensions provides a way to convert pointers in an AGP memory
36    region into byte offsets into the AGP aperture.
37    Note, this extension depends on GLX_NV_vertex_array_range, for which
38    no real specification exists.  See GL_NV_vertex_array_range for more
39    information.
40
41IP Status
42
43    None
44
45Issues
46
47    None
48
49New Procedures and Functions
50
51    unsigned int glXGetAGPOffsetMESA( const void *pointer )
52
53New Tokens
54
55    None
56
57Additions to the OpenGL 1.4 Specification
58
59    None
60
61Additions to Chapter 3 the GLX 1.4 Specification (Functions and Errors)
62
63    Add a new section, 3.6 as follows:
64
65    3.6 AGP Memory Access
66
67    On "PC" computers, AGP memory can be allocated with glXAllocateMemoryNV
68    and freed with glXFreeMemoryNV.  Sometimes it's useful to know where a
69    block of AGP memory is located with respect to the start of the AGP
70    aperture.  The function
71
72        GLuint glXGetAGPOffsetMESA( const GLvoid *pointer )
73
74    Returns the offset of the given memory block from the start of AGP
75    memory in basic machine units (i.e. bytes).  If pointer is invalid
76    the value ~0 will be returned.
77
78GLX Protocol
79
80    None.  This is a client side-only extension.
81
82Errors
83
84    glXGetAGPOffsetMESA will return ~0 if the pointer does not point to
85    an AGP memory region.
86
87New State
88
89    None
90
91Revision History
92
93    20 September 2002 - Initial draft
94    2 October 2002 - finished GLX chapter 3 additions
95    27 July 2004 - use unsigned int instead of GLuint, void instead of GLvoid
96