When a test requested a compatibility context, Piglit did not pass the context version to Waffle. Instead, Piglit requested an unversioned compatibility context and then verified with piglit_get_gl_version() that the actual version was >= requested version.
This hack prevented Piglit from creating forward-compatible contexts, because, according to thw EGL_KHR_create_context spec, "requesting a forward-compatible context for OpenGL versions less than 3.0 will generate an error." Remove the hack. Pass the requested context version to Waffle. Signed-off-by: Chad Versace <[email protected]> --- .../piglit-framework-gl/piglit_wfl_framework.c | 23 ++++++---------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/tests/util/piglit-framework-gl/piglit_wfl_framework.c b/tests/util/piglit-framework-gl/piglit_wfl_framework.c index b5c2b0c..0d09032 100644 --- a/tests/util/piglit-framework-gl/piglit_wfl_framework.c +++ b/tests/util/piglit-framework-gl/piglit_wfl_framework.c @@ -260,22 +260,15 @@ make_config_attrib_list(const struct piglit_gl_test_config *test_config, case CONTEXT_GL_COMPAT: assert(test_config->supports_gl_compat_version); - /* Don't supply a GL version to Waffle. When no - * version is specified, GLX and EGL should return the - * latest supported version. Later, we compare the - * actual version, as reported by glGetString, against - * the version required by the test. - * - * If a version != 1.0 is given to - * waffle_choose_config, then a code path in waffle is - * taken that requires GLX_ARB_create_context or - * EGL_KHR_create_context. This trick enables tests - * for which supports_gl_compat_version > 1.0 to run - * on drivers that lack those extensions. - */ i = 0; head_attrib_list[i++] = WAFFLE_CONTEXT_API; head_attrib_list[i++] = WAFFLE_CONTEXT_OPENGL; + + head_attrib_list[i++] = WAFFLE_CONTEXT_MAJOR_VERSION; + head_attrib_list[i++] = test_config->supports_gl_compat_version / 10; + + head_attrib_list[i++] = WAFFLE_CONTEXT_MINOR_VERSION; + head_attrib_list[i++] = test_config->supports_gl_compat_version % 10; break; case CONTEXT_GL_ES: { @@ -344,10 +337,6 @@ check_gl_version(const struct piglit_gl_test_config *test_config, */ return true; case CONTEXT_GL_COMPAT: { - /* Piglit did not supply a version to - * waffle_config_choose(). We must check the context's - * actual version. - */ int actual_version = piglit_get_gl_version(); if (actual_version >= test_config->supports_gl_compat_version) return true; -- 1.8.4 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
