• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    ANGLE_memory_size
4
5Name Strings
6
7    GL_ANGLE_memory_size
8
9Contributors
10
11    Geoff Lang
12
13Contact
14
15    Geoff Lang (geofflang 'at' google.com)
16
17Notice
18
19    Copyright (c) 2018 The Khronos Group Inc. Copyright terms at
20        http://www.khronos.org/registry/speccopyright.html
21
22Status
23
24    Draft
25
26Version
27
28    Version 1, November 1, 2018
29
30Number
31
32    OpenGL ES Extension #??
33
34Dependencies
35
36    Requires OpenGL ES 2.0
37
38    Written against the OpenGL ES 3.1 specification.
39
40Overview
41
42    This extension allows the user to query the estimated memory internally
43    allocated for an OpenGL resource. This information can be useful for
44    determining which resources should be deleted under memory pressure.
45
46New Procedures and Functions
47
48    None
49
50New Tokens
51
52    Accepted by the <name> parameter of GetTexParameter*,
53    GetTexLevelParameter*, GetBufferParameter* and GetRenderbufferParameter*
54    functions:
55
56        GL_MEMORY_SIZE_ANGLE              0x93AD
57
58Additions to the OpenGL ES 3.1 Specification
59
60    Add an entry to Table 6.2, Buffer object parameters and their values:
61
62    Name              Type  Initial Value Legal Values
63    ----------------- ----- ------------- ------------------------
64    MEMORY_SIZE_ANGLE int64 0             any non-negative integer
65
66    Change the last sentence of the first paragraph of section 8.10.2,
67    Texture Parameter Queries:
68
69    - pname must be IMAGE_FORMAT_COMPATIBILITY_TYPE, TEXTURE_-
70    - IMMUTABLE_FORMAT, TEXTURE_IMMUTABLE_LEVELS, or one of the symbolic
71    - values in table 8.20.
72    + pname must be IMAGE_FORMAT_COMPATIBILITY_TYPE, TEXTURE_-
73    + IMMUTABLE_FORMAT, TEXTURE_IMMUTABLE_LEVELS, MEMORY_SIZE_ANGLE,
74    + or one of the symbolic values in table 8.20.
75
76    Add to the end of the fifth paragraph of section 8.10.3, Texture Level
77    Parameter Queries:
78
79    + queries of pname MEMORY_SIZE_ANGLE return the estimated number of bytes
80    + allocated for level of the texture bound to target.
81
82    Add a new paragraph after paragraph 3 in section 9.2.6, Renderbuffer
83    Object Queries:
84
85    If pname is MEMORY_SIZE_ANGLE, then params will contain the esimated
86    number of bytes allocated for the renderbuffer bound to target.
87
88New State
89
90    Add to Table 20.4: Buffer Object State
91
92    Get value           Type Get Cmd                Min Value Description               Sec.
93    ------------------- ---- ---------------------  --------- ------------------------- ----
94    MEMORY_SIZE_ANGLE   Z+   GetBufferParameter64v  -         Estimated bytes allocated 6
95
96    Add to Table 20.9: Textures (state per texture object)
97
98    Get value           Type Get Cmd               Min Value Description               Sec.
99    ------------------- ---- --------------------  --------- ------------------------- -----
100    MEMORY_SIZE_ANGLE   Z+   GetTexParameter       -         Estimated bytes allocated 6.1.3
101                             GetTexLevelParameter
102
103    Add to Table 20.16: Renderbuffer (state per renderbuffer object)
104
105    Get value           Type Get Cmd                     Min Value Description               Sec.
106    ------------------- ---- --------------------------  --------- ------------------------- -----
107    MEMORY_SIZE_ANGLE   Z+   GetRenderbufferParameteriv  -         Estimated bytes allocated 9.2.6
108
109
110Interactions with the OpenGL ES 2.0 and 3.0 specifications:
111
112    Remove all references to GetTexLevelParameter and replace references to
113    GetBufferParameter64v with GetBufferParameteriv.
114
115Issues
116
117    (1) Could the estimated number of bytes be specified more tightly to an
118        upper or lower bound?
119
120        RESOLVED: Implementations should attempt to return the lower bound on
121        the allocated memory if exact numbers are not known. The lower bound is
122        the most actionable value for making decisions when caching.
123
124Revision History
125
126    Rev.    Date         Author     Changes
127    ----  -------------  ---------  ----------------------------------------
128      1    Nov 1, 2018   geofflang  Initial version
129