summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChad Versace <chad.versace@linux.intel.com>2012-11-02 20:12:23 -0700
committerChad Versace <chad.versace@linux.intel.com>2012-11-02 21:07:55 -0700
commit7147d9b2186e9891e8dc0a91212c8267933b403f (patch)
tree9b7d7e52ffda61c463712c974e344fceef8760b4 /include
parent2ab504a3d68a838bb2d4272b20c5495f569ce714 (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.h1
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,