Merge remote branch 'origin/master' into pipe-video
[mesa.git] / docs / MESA_agp_offset.spec
1 Name
2
3 MESA_agp_offset
4
5 Name Strings
6
7 GLX_MESA_agp_offset
8
9 Contact
10
11 Brian Paul, Tungsten Graphics, Inc. (brian.paul 'at' tungstengraphics.com)
12 Keith Whitwell, Tungsten Graphics, Inc. (keith 'at' tungstengraphics.com)
13
14 Status
15
16 Shipping (Mesa 4.0.4 and later. Only implemented in particular
17 XFree86/DRI drivers.)
18
19 Version
20
21 1.0
22
23 Number
24
25 TBD
26
27 Dependencies
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
33 Overview
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
41 IP Status
42
43 None
44
45 Issues
46
47 None
48
49 New Procedures and Functions
50
51 unsigned int glXGetAGPOffsetMESA( const void *pointer )
52
53 New Tokens
54
55 None
56
57 Additions to the OpenGL 1.4 Specification
58
59 None
60
61 Additions 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 aperature. 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
78 GLX Protocol
79
80 None. This is a client side-only extension.
81
82 Errors
83
84 glXGetAGPOffsetMESA will return ~0 if the pointer does not point to
85 an AGP memory region.
86
87 New State
88
89 None
90
91 Revision 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