[Piglit] [PATCH 2/2] egl: Add test egl-create-context-verify-gl-flavor (v2)
Chad Versace
chad.versace at linux.intel.com
Wed Nov 14 08:29:39 PST 2012
On 11/13/2012 04:36 PM, Ian Romanick wrote:
> On 11/09/2012 11:45 AM, Chad Versace wrote:
>> This test requests various flavors (that is, api and version and profile) of
>> contexts and verifies that the context's actual flavor is compatible with
>> the requested flavor.
>>
>> The following subcases fail on mesa-a196f43 with Intel Sandybridge:
>> - For each OpenGL context >= 3.2, context creation fails with EGL
>> error EGL_SUCCESS.
>> - For OpenGL ES 3.0, the context version reported by glGetString is
>> 2.0.
>> All other cases skip or pass.
>>
>> v2:
>> - Document that we use eglGetProcAddress to avoid piglit-dispatch.
>> - Also verify that glGetString(GL_VERSION) and
>> glGetIntgerv(GL_MAJOR/MINOR_VERSION) return the same version.
>>
>> CC: Matt Turner <mattst88 at gmail.com>
>> CC: Iam Romanick <idr at freedesktop.org>
>> Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
>> ---
>>
>> Ian, I see your point in the foolishness of using eglGetProcAddress for the
>> core functions. I tried your suggestion and attempted to use the statically
>> available glGetIntegerv in this test, but got a surprise from piglit-dispatch.
>>
>> So, I still insist that we should use eglGetProcAddress in this test, but now
>> for a different reason. See the comments in main().
>>
>>
>> tests/all_egl.tests | 1 +
>> .../spec/egl_khr_create_context/CMakeLists.gl.txt | 1 +
>> .../spec/egl_khr_create_context/verify-gl-flavor.c | 443 +++++++++++++++++++++
>> 3 files changed, 445 insertions(+)
>> create mode 100644 tests/egl/spec/egl_khr_create_context/verify-gl-flavor.c
>>
>> + if (!eglMakeCurrent(egl_dpy, EGL_NO_SURFACE,
>> + EGL_NO_SURFACE, ctx)) {
>> + printf("%s", "error: failed to make context current\n");
>> + goto fail;
>> + }
>
> I missed this before. This usage requires EGL_KHR_surfaceless_context. At this
> point, I think it's fine to require that extension. If someone wants to run
> this test on an implementation that doesn't support it, we will welcome patches
> from them.
It's not apparent from this patch, but the test does skip if EGL_KHR_surfaceless_context
is not present. The function EGL_KHR_create_context_setup(), shared among all the
EGL_KHR_create_context tests, handles the extension verification.
More information about the Piglit
mailing list