• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    APPLE_texture_range
4
5Name Strings
6
7    GL_APPLE_texture_range
8
9Contact
10
11    Bob Beretta, Apple Inc. (beretta 'at' apple.com)
12
13Version
14
15    $Date: 2002/02/18 18:16:55 $ $Revision: 1.3 $
16
17Number
18
19    367
20
21Dependencies
22
23    None
24
25Overview
26
27    This extension provides a method to specify the range of client address
28    space that may be used by a texture.  In general, the storage size of a
29    texture may be easily determined by the texture's data type and geometry.
30    However, driver optimizations may be realized if an extended address
31    range is specified to encompass the storage of multiple textures, or to
32    encompass potential future changes in the size of a texture.  A typical
33    usage of this extension is to specify an identical address range for
34    several textures in a particular working set that encompasses the storage
35    of all the textures in the set.  This allows the driver to make a single
36    memory mapping for all of the textures.
37
38    Further, a mechanism is provided to allow the application to give the GL
39    driver a hint regarding the storage requirements of the texture data.
40
41New Procedures and Functions
42
43    void TextureRangeAPPLE(enum target, sizei length, void *pointer)
44
45    void GetTexParameterPointervAPPLE(enum target, enum pname, void **params)
46
47New Tokens
48
49    Accepted by the <pname> parameters of TexParameteri, TexParameterf,
50    TexParameteriv, TexParameterfv, GetTexParameteriv, and
51    GetTexParameterfv:
52
53    TEXTURE_STORAGE_HINT_APPLE          0x85BC
54
55    Accepted by the <param> parameters of TexParameteri, TexParameterf,
56    TexParameteriv, and TexParameterfv:
57
58    STORAGE_PRIVATE_APPLE               0x85BD
59    STORAGE_CACHED_APPLE                0x85BE
60    STORAGE_SHARED_APPLE                0x85BF
61
62    Accepted by the <pname> parameters of GetTexParameteriv and
63    GetTexParameterfv:
64
65    TEXTURE_RANGE_LENGTH_APPLE          0x85B7
66
67    Accepted by the <pname> parameters of GetTexParameterPointerv:
68
69    TEXTURE_RANGE_POINTER_APPLE         0x85B8
70
71Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
72
73    None
74
75Additions to Chapter 3 of the 1.0 Specification (Rasterization)
76
77    XXX - lots
78
79Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
80and the Frame Buffer)
81
82    None
83
84Additions to Chapter 5 of the 1.0 Specification (Special Functions)
85
86    None
87
88Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
89
90    None
91
92Additions to the GLX Specification
93
94    "OpenGL implementations using GLX indirect rendering should silently
95    ignore the texture range.
96
97Errors
98
99    TextureRangeAPPLE(enum target, sizei length, void *pointer);
100
101    GetTexParameterPointerv(enum target, enum pname, void **params);
102
103    INVALID_ENUM is generated if TextureRangeAPPLE or GetTexParameterPointerv
104    is called with <target> that is not a valid texture target.
105
106    INVALID_ENUM is generated if GetTexParameterPointerv parameter
107    <pname> is not equal to TEXTURE_RANGE_POINTER_APPLE.
108
109    INVALID_VALUE is generated if TextureRangeAPPLE parameter <length> is
110    negative.
111
112New State
113
114   Get Value                       Get Command             Type    Value    Attrib
115   ---------                       -----------             ----    -------  ------------
116   TEXTURE_RANGE_POINTER_APPLE     GetTexParameterPointerv Y       0        texture
117   TEXTURE_RANGE_LENGTH_APPLE      GetTexParameteriv       Z+      0        texture
118
119New Implementation Dependent State
120
121    None
122
123