[waffle] More fun with EXT_create_context_es*_profile
Tom Gall
tom.gall at linaro.org
Mon Mar 4 18:51:00 PST 2013
Within src/waffle/glx/glx_config.c there is:
glx_config_check_context_attrs(struct glx_display *dpy,
const struct wcore_config_attrs *attrs)
...
case WAFFLE_CONTEXT_OPENGL_ES2:
assert(attrs->context_major_version == 2);
if (!dpy->EXT_create_context_es2_profile) {
wcore_errorf(WAFFLE_ERROR_UNSUPPORTED_ON_PLATFORM,
"GLX_EXT_create_context_es2_profile is required "
"to create an OpenGL ES2 context");
return false;
}
if (!linux_platform_dl_can_open(plat->linux,
WAFFLE_DL_OPENGL_ES2)) {
wcore_errorf(WAFFLE_ERROR_UNSUPPORTED_ON_PLATFORM,
"failed to open the OpenGL ES2 library");
return false;
}
return true;
...
When creating a context for OpenGL ES 2 (and this applies equally to
GLES1 and GLES3 just above and below this code) the checks for
EXT_create_context_es2_profile make sense on desktop GL since these
have to be present to indicate that the GL implementation can support
an OpenGL ES context.
However when you're on an embedded device which just has OpenGL ES and
nothing else, EXT_create_context_es2_profile isn't present. This can
be seen with even a pure software stack with Mesa 9.0.2.
I understand why this test is here for the desktop case, but part of
me just wants to rip these checks out and trust other places will
error out.
Thoughts?
--
Regards,
Tom
"Where's the kaboom!? There was supposed to be an earth-shattering
kaboom!" Marvin Martian
Tech Lead, Graphics Working Group | Linaro.org │ Open source software
for ARM SoCs
w) tom.gall att linaro.org
h) tom_gall att mac.com
More information about the waffle
mailing list