Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions extensions/EXT/EXT_texture_storage.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ Status

Version

Last Modified Date: 22 September, 2021
Author Revision: 29
Last Modified Date: 23 April, 2025
Author Revision: 30

Number

Expand Down Expand Up @@ -997,8 +997,20 @@ Issues
parameter, the implementation has no information on which to base a
decision.

28. Should GetProcAddress return null pointers for functions not present
in a given version of the API?

RESOLVED. Yes, certain functions which are present in the API header may
return null pointers from the corresponding GetProcAddress calls. For example,
the gl2ext.h header contains TexStorage1DEXT and TextureStorage* references,
but these functionalities are not supported in OpenGL ES and will return
null pointers.
Comment on lines +1006 to +1007
Copy link

@fooishbar fooishbar May 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is right. GPA is defined to be independent of the currently-bound API; it can (necessarily) be used before any client API is bound, and it's defined to return a pointer which can be used on a client API on that implementation, regardless of what's currently bound.

So specifying that eglGetProcAddress("glTextureStorage2DEXT") breaks implementations which expose both GL+DSA and GLES+TS, because they need to return the GL pointer for this query at all times. You can weaken the language to 'may', but honestly you could just delete anything referring to GPA and just note that the function prototypes were erroneously included, are not defined to have any functionality in GLES, and should not be used.

The core GPA definition is very clear that just because it returns a function pointer, doesn't mean you can use it anywhere.


Revision History

Revision 30, 2025/04/23 (Mike Blumenkrantz)
- Added note about null function pointer returns in ES.

Revision 29, 2021/09/22 (Adam Jackson)
- Assign OpenGL extension number

Expand Down