diff options
author | Chad Versace <chad.versace@linux.intel.com> | 2012-11-02 20:12:23 -0700 |
---|---|---|
committer | Chad Versace <chad.versace@linux.intel.com> | 2012-11-02 21:07:55 -0700 |
commit | 7147d9b2186e9891e8dc0a91212c8267933b403f (patch) | |
tree | 9b7d7e52ffda61c463712c974e344fceef8760b4 /include | |
parent | 2ab504a3d68a838bb2d4272b20c5495f569ce714 (diff) |
Revert "waffle: Support OpenGL ES3"
This reverts commit 52df64af6a57d7fabc87afc4685588a2875a83d0.
After more closely reading the EGL_KHR_create_context spec and discussing
its history with Iam Romanick <idr@freedesktop.org>, I decided that
Waffle's interface for creating an OpenGL ES3 context needs changing.
I wish to model it after how GLES3 contexts are created in Khronos' OpenGL
ES3 conformance testsuite.
Discussion of EGL_OPENGL_ES3_BIT_KHR
------------------------------------
In version 13 of the EGL_KHR_create_context spec, the only way to
explicitly request a GLES3 context was to (1) choose an EGLConfig whose
EGL_RENDERABLE_TYPE attribute had the EGL_OPENGL_ES2_BIT set and (2) then
call eglCreateContext with EGL_CONTEXT_MAJOR_VERSION_KHR = 3. In version
14 was added a new enum, EGL_OPENGL_ES2_BIT_KHR, and thus a second way to
explicitly request a GLES3 context.
From a close reading of the EGL_KHR_create_context spec and from
a discussion with Romanick, I discovered that the EGL working group's
preferred method for creating a GLES3 context is that from version 13.
This observation is corroborated by Khronos' OpenGL ES3 conformance
testsuite, which does not use EGL_OPENGL_ES3_BIT_KHR.
Change in Waffle's interface
----------------------------
The original interface, as added by the reverted patch, for creating
a GLES3 context looks like this:
int32_ attrib_list = {
WAFFLE_CONTEXT_API, WAFFLE_CONTEXT_OPENGL_ES3,
0,
};
config = waffle_config_choose(dpy, attrib_list);
ctx = waffle_context_create(config, NULL);
Instead, I wish to change it to follow the original intent of the
EGL_KHR_create_context spec and the precedent in Khronos' OpenGL ES3
conformance testsuite:
int32_ attrib_list = {
WAFFLE_CONTEXT_API, WAFFLE_CONTEXT_OPENGL_ES2,
WAFFLE_CONTEXT_MAJOR_VERSION, 3,
0,
};
config = waffle_config_choose(dpy, attrib_list);
ctx = waffle_context_create(config, NULL);
Issues
------
In reimplementing Waffle's OpenGL ES3 support, I will be careful to
accomodate EGL implementations that require EGL_OPENGL_ES3_BIT_KHR to be
set.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/waffle/waffle_enum.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/waffle/waffle_enum.h b/include/waffle/waffle_enum.h index 0437d64..df87e0e 100644 --- a/include/waffle/waffle_enum.h +++ b/include/waffle/waffle_enum.h @@ -65,7 +65,6 @@ enum waffle_enum { WAFFLE_CONTEXT_OPENGL = 0x020b, WAFFLE_CONTEXT_OPENGL_ES1 = 0x020c, WAFFLE_CONTEXT_OPENGL_ES2 = 0x020d, - WAFFLE_CONTEXT_OPENGL_ES3 = 0x0214, WAFFLE_CONTEXT_MAJOR_VERSION = 0x020e, WAFFLE_CONTEXT_MINOR_VERSION = 0x020f, |