15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci APPLE_texture_range 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_APPLE_texture_range 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Bob Beretta, Apple Inc. (beretta 'at' apple.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciVersion 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci $Date: 2002/02/18 18:16:55 $ $Revision: 1.3 $ 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciNumber 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci 367 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ciDependencies 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ci None 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ciOverview 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ci This extension provides a method to specify the range of client address 285bd8deadSopenharmony_ci space that may be used by a texture. In general, the storage size of a 295bd8deadSopenharmony_ci texture may be easily determined by the texture's data type and geometry. 305bd8deadSopenharmony_ci However, driver optimizations may be realized if an extended address 315bd8deadSopenharmony_ci range is specified to encompass the storage of multiple textures, or to 325bd8deadSopenharmony_ci encompass potential future changes in the size of a texture. A typical 335bd8deadSopenharmony_ci usage of this extension is to specify an identical address range for 345bd8deadSopenharmony_ci several textures in a particular working set that encompasses the storage 355bd8deadSopenharmony_ci of all the textures in the set. This allows the driver to make a single 365bd8deadSopenharmony_ci memory mapping for all of the textures. 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci Further, a mechanism is provided to allow the application to give the GL 395bd8deadSopenharmony_ci driver a hint regarding the storage requirements of the texture data. 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ciNew Procedures and Functions 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci void TextureRangeAPPLE(enum target, sizei length, void *pointer) 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci void GetTexParameterPointervAPPLE(enum target, enum pname, void **params) 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ciNew Tokens 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci Accepted by the <pname> parameters of TexParameteri, TexParameterf, 505bd8deadSopenharmony_ci TexParameteriv, TexParameterfv, GetTexParameteriv, and 515bd8deadSopenharmony_ci GetTexParameterfv: 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci TEXTURE_STORAGE_HINT_APPLE 0x85BC 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci Accepted by the <param> parameters of TexParameteri, TexParameterf, 565bd8deadSopenharmony_ci TexParameteriv, and TexParameterfv: 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ci STORAGE_PRIVATE_APPLE 0x85BD 595bd8deadSopenharmony_ci STORAGE_CACHED_APPLE 0x85BE 605bd8deadSopenharmony_ci STORAGE_SHARED_APPLE 0x85BF 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci Accepted by the <pname> parameters of GetTexParameteriv and 635bd8deadSopenharmony_ci GetTexParameterfv: 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ci TEXTURE_RANGE_LENGTH_APPLE 0x85B7 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci Accepted by the <pname> parameters of GetTexParameterPointerv: 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci TEXTURE_RANGE_POINTER_APPLE 0x85B8 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci None 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci XXX - lots 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 805bd8deadSopenharmony_ciand the Frame Buffer) 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ci None 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ci None 875bd8deadSopenharmony_ci 885bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ci None 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ciAdditions to the GLX Specification 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ci "OpenGL implementations using GLX indirect rendering should silently 955bd8deadSopenharmony_ci ignore the texture range. 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ciErrors 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ci TextureRangeAPPLE(enum target, sizei length, void *pointer); 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci GetTexParameterPointerv(enum target, enum pname, void **params); 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci INVALID_ENUM is generated if TextureRangeAPPLE or GetTexParameterPointerv 1045bd8deadSopenharmony_ci is called with <target> that is not a valid texture target. 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci INVALID_ENUM is generated if GetTexParameterPointerv parameter 1075bd8deadSopenharmony_ci <pname> is not equal to TEXTURE_RANGE_POINTER_APPLE. 1085bd8deadSopenharmony_ci 1095bd8deadSopenharmony_ci INVALID_VALUE is generated if TextureRangeAPPLE parameter <length> is 1105bd8deadSopenharmony_ci negative. 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ciNew State 1135bd8deadSopenharmony_ci 1145bd8deadSopenharmony_ci Get Value Get Command Type Value Attrib 1155bd8deadSopenharmony_ci --------- ----------- ---- ------- ------------ 1165bd8deadSopenharmony_ci TEXTURE_RANGE_POINTER_APPLE GetTexParameterPointerv Y 0 texture 1175bd8deadSopenharmony_ci TEXTURE_RANGE_LENGTH_APPLE GetTexParameteriv Z+ 0 texture 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ciNew Implementation Dependent State 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci None 1225bd8deadSopenharmony_ci 123