blob: dd3637c4962afa1d47c8c235841a1240bb806017 [file] [log] [blame]
Name
ANGLE_webgl_compatibility
Name Strings
GL_ANGLE_webgl_compatibility
Contributors
Geoff Lang
Contact
Geoff Lang (geofflang 'at' google.com)
Notice
Copyright (c) 2016 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
Status
Draft
Version
Version 1, September 16, 2016
Number
OpenGL ES Extension #??
Dependencies
Requires OpenGL ES 2.0
Written against the OpenGL ES 2.0 specification.
Interacts with EGL_ANGLE_create_context_webgl_compatibility (or equivalent)
extension.
Overview
With this extension enabled, the OpenGL ES context will have additional
features and validation to be compatible with the WebGL specification.
New Procedures and Functions
boolean EnableExtension(const char *name)
New Tokens
None
Additions to the OpenGL ES Specification
The command
boolean EnableExtension(const char *name)
enables the OpenGL ES extension named <name>. Returns true on success and
false otherwise. If the extension does not support being enabled or <name>
does not name a valid OpenGL ES extension, INVALID_OPERATION is generated.
If the extension is valid but is not supported by the context, no error is
generated but false is returned.
Additional validation will be performed according to the the sections of
the WebGL specification entitled "Differences Between WebGL and OpenGL ES
2.0" and "Differences Between WebGL and OpenGL ES 3.0".
New State
None
Conformance Tests
TBD
Issues
(1) How can the user determine which extensions can be enabled without
potentially generating errors?
This can be solved by:
a) Never generate an error in EnableExtensions, simply return false when
the extension is not recognized or cannot be enabled.
b) Add another entry point to query all extensions that the context
supports enabling.
Revision History
Rev. Date Author Changes
---- ------------- --------- ----------------------------------------
1 Sept 16, 2016 geofflang Initial version