Re: [Piglit] [PATCH] glut framework: skip if implementation doesn't support required GL version.

2013-10-14 Thread Chad Versace

On 10/08/2013 05:12 PM, Paul Berry wrote:

In effect, we are already doing this when Waffle is in use, since
Waffle uses a context creation mechanism that ensures that the context
won't be created if the implementation doesn't support the GL version
needed by the test.  But for GLUT we need to do the check manually,
since GLUT always just creates the highest GL version context it can.
---
  .../piglit-framework-gl/piglit_glut_framework.c| 28 ++
  1 file changed, 28 insertions(+)


Reviewed-by: Chad Versace 

___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] glut framework: skip if implementation doesn't support required GL version.

2013-10-10 Thread Vinson Lee
On Tue, Oct 8, 2013 at 5:12 PM, Paul Berry  wrote:
> In effect, we are already doing this when Waffle is in use, since
> Waffle uses a context creation mechanism that ensures that the context
> won't be created if the implementation doesn't support the GL version
> needed by the test.  But for GLUT we need to do the check manually,
> since GLUT always just creates the highest GL version context it can.
> ---
>  .../piglit-framework-gl/piglit_glut_framework.c| 28 
> ++
>  1 file changed, 28 insertions(+)
>
> diff --git a/tests/util/piglit-framework-gl/piglit_glut_framework.c 
> b/tests/util/piglit-framework-gl/piglit_glut_framework.c
> index a28a177..716f314 100644
> --- a/tests/util/piglit-framework-gl/piglit_glut_framework.c
> +++ b/tests/util/piglit-framework-gl/piglit_glut_framework.c
> @@ -169,6 +169,31 @@ set_reshape_func(struct piglit_gl_framework *gl_fw,
> glutReshapeFunc(func);
>  }
>
> +/**
> + * Check that the context's actual version is no less than the
> + * requested version.
> + */
> +static bool
> +check_gl_version(const struct piglit_gl_test_config *test_config)
> +{
> +   int actual_version = piglit_get_gl_version();
> +
> +   /* GLUT only supports GL compatibility contexts, so we only
> +* have to check supports_gl_compat_version.
> +*/
> +   if (actual_version < test_config->supports_gl_compat_version) {
> +   printf("Test requires GL version %d.%d, but actual version is 
> "
> +  "%d.%d\n",
> +  test_config->supports_gl_compat_version / 10,
> +  test_config->supports_gl_compat_version % 10,
> +  actual_version / 10,
> +  actual_version % 10);
> +   return false;
> +   }
> +
> +   return true;
> +}
> +
>  struct piglit_gl_framework*
>  piglit_glut_framework_create(const struct piglit_gl_test_config *test_config)
>  {
> @@ -191,6 +216,9 @@ piglit_glut_framework_create(const struct 
> piglit_gl_test_config *test_config)
>
> init_glut();
>
> +   if (!check_gl_version(test_config))
> +   piglit_report_result(PIGLIT_SKIP);
> +
> glut_fw.gl_fw.swap_buffers = swap_buffers;
> glut_fw.gl_fw.run_test = run_test;
> glut_fw.gl_fw.post_redisplay = post_redisplay;
> --
> 1.8.4
>

Now seeing GLSL 1.50 tests being skipped instead on failing.

Tested-by: Vinson Lee 
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] glut framework: skip if implementation doesn't support required GL version.

2013-10-08 Thread Paul Berry
In effect, we are already doing this when Waffle is in use, since
Waffle uses a context creation mechanism that ensures that the context
won't be created if the implementation doesn't support the GL version
needed by the test.  But for GLUT we need to do the check manually,
since GLUT always just creates the highest GL version context it can.
---
 .../piglit-framework-gl/piglit_glut_framework.c| 28 ++
 1 file changed, 28 insertions(+)

diff --git a/tests/util/piglit-framework-gl/piglit_glut_framework.c 
b/tests/util/piglit-framework-gl/piglit_glut_framework.c
index a28a177..716f314 100644
--- a/tests/util/piglit-framework-gl/piglit_glut_framework.c
+++ b/tests/util/piglit-framework-gl/piglit_glut_framework.c
@@ -169,6 +169,31 @@ set_reshape_func(struct piglit_gl_framework *gl_fw,
glutReshapeFunc(func);
 }
 
+/**
+ * Check that the context's actual version is no less than the
+ * requested version.
+ */
+static bool
+check_gl_version(const struct piglit_gl_test_config *test_config)
+{
+   int actual_version = piglit_get_gl_version();
+
+   /* GLUT only supports GL compatibility contexts, so we only
+* have to check supports_gl_compat_version.
+*/
+   if (actual_version < test_config->supports_gl_compat_version) {
+   printf("Test requires GL version %d.%d, but actual version is "
+  "%d.%d\n",
+  test_config->supports_gl_compat_version / 10,
+  test_config->supports_gl_compat_version % 10,
+  actual_version / 10,
+  actual_version % 10);
+   return false;
+   }
+
+   return true;
+}
+
 struct piglit_gl_framework*
 piglit_glut_framework_create(const struct piglit_gl_test_config *test_config)
 {
@@ -191,6 +216,9 @@ piglit_glut_framework_create(const struct 
piglit_gl_test_config *test_config)
 
init_glut();
 
+   if (!check_gl_version(test_config))
+   piglit_report_result(PIGLIT_SKIP);
+
glut_fw.gl_fw.swap_buffers = swap_buffers;
glut_fw.gl_fw.run_test = run_test;
glut_fw.gl_fw.post_redisplay = post_redisplay;
-- 
1.8.4

___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit