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