| 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 <pname> parameters of TexParameteri, TexParameterf, |
| TexParameteriv, TexParameterfv, GetTexParameteriv, and |
| GetTexParameterfv: |
| |
| TEXTURE_STORAGE_HINT_APPLE 0x85BC |
| |
| Accepted by the <param> parameters of TexParameteri, TexParameterf, |
| TexParameteriv, and TexParameterfv: |
| |
| STORAGE_PRIVATE_APPLE 0x85BD |
| STORAGE_CACHED_APPLE 0x85BE |
| STORAGE_SHARED_APPLE 0x85BF |
| |
| Accepted by the <pname> parameters of GetTexParameteriv and |
| GetTexParameterfv: |
| |
| TEXTURE_RANGE_LENGTH_APPLE 0x85B7 |
| |
| Accepted by the <pname> 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 <target> that is not a valid texture target. |
| |
| INVALID_ENUM is generated if GetTexParameterPointerv parameter |
| <pname> is not equal to TEXTURE_RANGE_POINTER_APPLE. |
| |
| INVALID_VALUE is generated if TextureRangeAPPLE parameter <length> 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 |
| |