[Mesa-dev] _eglLog(_EGL_FATAL, ...) exits program

Ilia Mirkin imirkin at alum.mit.edu
Sun Aug 10 08:03:24 PDT 2014


Hello,

I just ran into this issue. I'm running piglits on a NV17 card, which
uses the nouveau_vieux (dri) driver. It does not support the DRI_IMAGE
stuff.

Taking a sample piglit test -- tests/spec/arb_clear_texture/cube.c --
it requests either GL 2.0 or GLES 2.0. The latter would attempt to use
EGL. However since EGL is completely non-functional, it hits:

_eglLog(_EGL_FATAL, "DRI2: did not find extension %s version %d",
matches[j].name, matches[j].version);

in egl_dri2.c, which causes the test to exit and fail instead of skip
due to insufficient version. There are only a handful of uses of
eglLog with EGL_FATAL:

src/egl/drivers/dri2/egl_dri2.c:         _eglLog(_EGL_FATAL, "DRI2:
did not find extension %s version %d",
src/egl/main/eglcurrent.c:      _eglLog(_EGL_FATAL, "failed to
initialize \"current\" system");
src/gallium/state_trackers/egl/common/egl_g3d_api.c:
_eglLog(_EGL_FATAL, "destroy a context with an unitialized display");
src/gallium/state_trackers/egl/common/egl_g3d_api.c:
_eglLog(_EGL_FATAL, "destroy a surface with an unitialized display");

Does it really make sense to terminate the process in these cases?
Should I downgrade the egl_dri2.c one to an error (since it seems to
handle the failure just fine), or should I just make fatal not exit
(which seems a little nasty to do from a library)?

  -ilia


More information about the mesa-dev mailing list