Name APPLE_texture_range Name Strings GL_APPLE_texture_range Contact Bob Beretta, Apple Inc. (beretta 'at' apple.com) Version $Date: 2002/02/18 18:16:55 $ $Revision: 1.3 $ Number 367 Dependencies None Overview This extension provides a method to specify the range of client address space that may be used by a texture. In general, the storage size of a texture may be easily determined by the texture's data type and geometry. However, driver optimizations may be realized if an extended address range is specified to encompass the storage of multiple textures, or to encompass potential future changes in the size of a texture. A typical usage of this extension is to specify an identical address range for several textures in a particular working set that encompasses the storage of all the textures in the set. This allows the driver to make a single memory mapping for all of the textures. Further, a mechanism is provided to allow the application to give the GL driver a hint regarding the storage requirements of the texture data. New Procedures and Functions void TextureRangeAPPLE(enum target, sizei length, void *pointer) void GetTexParameterPointervAPPLE(enum target, enum pname, void **params) New Tokens Accepted by the parameters of TexParameteri, TexParameterf, TexParameteriv, TexParameterfv, GetTexParameteriv, and GetTexParameterfv: TEXTURE_STORAGE_HINT_APPLE 0x85BC Accepted by the parameters of TexParameteri, TexParameterf, TexParameteriv, and TexParameterfv: STORAGE_PRIVATE_APPLE 0x85BD STORAGE_CACHED_APPLE 0x85BE STORAGE_SHARED_APPLE 0x85BF Accepted by the parameters of GetTexParameteriv and GetTexParameterfv: TEXTURE_RANGE_LENGTH_APPLE 0x85B7 Accepted by the parameters of GetTexParameterPointerv: TEXTURE_RANGE_POINTER_APPLE 0x85B8 Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) None Additions to Chapter 3 of the 1.0 Specification (Rasterization) XXX - lots Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations and the Frame Buffer) None Additions to Chapter 5 of the 1.0 Specification (Special Functions) None Additions to Chapter 6 of the 1.0 Specification (State and State Requests) None Additions to the GLX Specification "OpenGL implementations using GLX indirect rendering should silently ignore the texture range. Errors TextureRangeAPPLE(enum target, sizei length, void *pointer); GetTexParameterPointerv(enum target, enum pname, void **params); INVALID_ENUM is generated if TextureRangeAPPLE or GetTexParameterPointerv is called with that is not a valid texture target. INVALID_ENUM is generated if GetTexParameterPointerv parameter is not equal to TEXTURE_RANGE_POINTER_APPLE. INVALID_VALUE is generated if TextureRangeAPPLE parameter is negative. New State Get Value Get Command Type Value Attrib --------- ----------- ---- ------- ------------ TEXTURE_RANGE_POINTER_APPLE GetTexParameterPointerv Y 0 texture TEXTURE_RANGE_LENGTH_APPLE GetTexParameteriv Z+ 0 texture New Implementation Dependent State None