[Piglit] [PATCH 1/5] egl: Call eglBindAPI after eglInitialize
Tapani Pälli
tapani.palli at intel.com
Tue Dec 12 08:23:35 UTC 2017
On 12/11/2017 10:15 PM, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> A couple of tests were calling eglBindAPI before eglInitialize.
> Some versions of Mesa had problem with such invocation order and the
> seeming consensus was that apps should not do that.
>
> This is likely a copy/paste mistake, that was also present in Xserver.
> Yet the latter was fixed ~1 year ago, while the piglit tests remained in
> iffy state.
Nope, it is just fine to call eglBindAPI before eglInitialize. It would
be a Mesa bug to not allow that.
However I'm fine with this change, it should not change anything.
> Cc: Ian Romanick <ian.d.romanick at intel.com>
> Cc: Michel Dänzer <michel.daenzer at amd.com>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> tests/egl/egl-configless-context.c | 4 ++--
> tests/egl/egl-util.c | 16 ++++++++--------
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/tests/egl/egl-configless-context.c b/tests/egl/egl-configless-context.c
> index ce98465ef..9443e7503 100644
> --- a/tests/egl/egl-configless-context.c
> +++ b/tests/egl/egl-configless-context.c
> @@ -343,8 +343,6 @@ main(int argc, char **argv)
> piglit_report_result(PIGLIT_SKIP);
> }
>
> - eglBindAPI(EGL_OPENGL_API);
> -
> state.egl_dpy = eglGetDisplay(state.dpy);
> if (state.egl_dpy == EGL_NO_DISPLAY) {
> fprintf(stderr, "eglGetDisplay() failed\n");
> @@ -356,6 +354,8 @@ main(int argc, char **argv)
> piglit_report_result(PIGLIT_FAIL);
> }
>
> + eglBindAPI(EGL_OPENGL_API);
> +
> if (!piglit_is_egl_extension_supported(state.egl_dpy,
> "EGL_MESA_configless_context")) {
> fprintf(stderr,
> diff --git a/tests/egl/egl-util.c b/tests/egl/egl-util.c
> index 1676cc740..8af1a4cbd 100644
> --- a/tests/egl/egl-util.c
> +++ b/tests/egl/egl-util.c
> @@ -217,14 +217,6 @@ egl_util_run(const struct egl_test *test, int argc, char *argv[])
> }
> }
>
> - /* bind chosen API and set ctxattribs if using ES */
> - if (api_bit == EGL_OPENGL_BIT)
> - eglBindAPI(EGL_OPENGL_API);
> - else {
> - eglBindAPI(EGL_OPENGL_ES_API);
> - ctxAttribs = ctxAttribsES;
> - }
> -
> /* choose dispatch_api and set ctx version to ctxAttribs if using ES */
> switch (api_bit) {
> case EGL_OPENGL_ES_BIT:
> @@ -254,6 +246,14 @@ egl_util_run(const struct egl_test *test, int argc, char *argv[])
> goto fail;
> }
>
> + /* bind chosen API and set ctxattribs if using ES */
> + if (api_bit == EGL_OPENGL_BIT)
> + eglBindAPI(EGL_OPENGL_API);
> + else {
> + eglBindAPI(EGL_OPENGL_ES_API);
> + ctxAttribs = ctxAttribsES;
> + }
> +
> check_extensions(&state, test);
>
> if (!eglChooseConfig(state.egl_dpy, test->config_attribs, &state.cfg, 1, &count) ||
>
More information about the Piglit
mailing list