[Piglit] [PATCH 0/3] egl: Add test for eglTerminate

Chad Versace chad.versace at linux.intel.com
Fri Feb 15 17:43:25 PST 2013

This little series adds an EGL test that makes current a context, terminates
the context's display, then unbinds the context. According to the EGL 1.4 spec
(2011.04.06), Section 3.2 Initialization, no error should occur.

    EGLBoolean eglTerminate(EGLDisplay dpy);

    Termination marks all EGL-specific resources, such as contexts and
    surfaces, associated with the specified display for deletion. Handles
    to all such resources are invalid as soon as eglTerminate returns, but
    the dpy handle itself remains valid. [...] Applications should not try
    to perform useful work with such resources following eglTerminate; only
    eglMakeCurrent or eglReleaseThread should be called, to complete
    deletion of these resources.

    If contexts or surfaces created with respect to dpy are current (see
    section 3.7.3) to any thread, then they are not actually destroyed
    while they remain current. Such contexts and surfaces will be destroyed
    as soon as eglReleaseThread is called from the thread they are bound
    to, or eglMakeCurrent is called from that thread with the current
    rendering API (see section 3.7) set such that the current context is
    affected. [...]

The test segfaults on Mesa with Intel Sandybridge.

Chad Versace (3):
  util: Move EGL utilities from libpiglitutil_gl to libpiglitutil
  egl: Fix CMake traversal into egl/spec dir
  egl-1.4: Add test egl-terminate-then-unbind-context

 tests/all.tests                                    |   1 +
 tests/egl/CMakeLists.gl.txt                        |   2 -
 tests/egl/CMakeLists.txt                           |   2 +
 tests/egl/spec/CMakeLists.txt                      |   1 +
 tests/egl/spec/egl-1.4/CMakeLists.no_api.txt       |   8 ++
 tests/egl/spec/egl-1.4/CMakeLists.txt              |   1 +
 .../egl-1.4/egl-terminate-then-unbind-context.c    | 109 +++++++++++++++++++++
 tests/util/CMakeLists.no_api.txt                   |  12 +++
 tests/util/CMakeLists.txt                          |  11 ---
 tests/util/piglit-util-egl.h                       |   3 +-
 10 files changed, 135 insertions(+), 15 deletions(-)
 create mode 100644 tests/egl/spec/egl-1.4/CMakeLists.no_api.txt
 create mode 100644 tests/egl/spec/egl-1.4/CMakeLists.txt
 create mode 100644 tests/egl/spec/egl-1.4/egl-terminate-then-unbind-context.c


More information about the Piglit mailing list