[Piglit] [PATCH] tests: intel_conservative_rasterization: fix invalid draws

Dylan Baker dylan at pnwbakers.com
Tue Jul 10 20:40:17 UTC 2018


Quoting Lionel Landwerlin (2018-07-10 11:39:25)
> In a12310df3bdd0a we realized that
> intel_conservative_rasterization-invalid_gles3 was not added to the
> test list. Turns out we didn't even run this test on gles.
> 
> Although quite a few cases are opengl specific, there are still 2
> invalid cases we can verify on gles.
> 
> Fixes: a12310df3bdd0a ("tests/opengl: Add intel_conservative_rasterization-invalid_gles3")
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> ---
>  .../intel_conservative_rasterization/invalid.c   | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/spec/intel_conservative_rasterization/invalid.c b/tests/spec/intel_conservative_rasterization/invalid.c
> index 1e7181628..7ae43f664 100644
> --- a/tests/spec/intel_conservative_rasterization/invalid.c
> +++ b/tests/spec/intel_conservative_rasterization/invalid.c
> @@ -35,6 +35,8 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
>  
>  #if defined(PIGLIT_USE_OPENGL)
>         config.supports_gl_core_version = 42;
> +#elif defined(PIGLIT_USE_OPENGL_ES3)
> +       config.supports_gl_es_version = 31;
>  #endif
>  
>  PIGLIT_GL_TEST_CONFIG_END
> @@ -52,6 +54,9 @@ void piglit_init(int argc, char **argv)
>         GLuint prog = piglit_build_simple_program(
>  #if defined(PIGLIT_USE_OPENGL)
>                 "#version 330\n"
> +#elif defined(PIGLIT_USE_OPENGL_ES3)
> +               "#version 310 es\n"
> +               "precision highp float;\n"
>  #endif
>                 "in vec4 piglit_vertex;\n"
>                 "void main()\n"
> @@ -60,8 +65,13 @@ void piglit_init(int argc, char **argv)
>                 "}\n",
>  #if defined(PIGLIT_USE_OPENGL)
>                 "#version 330\n"
> -               "out vec4 color;\n"
> +#elif defined(PIGLIT_USE_OPENGL_ES3)
> +               "#version 310 es\n"
> +               "precision highp float;\n"
>  #endif
> +               "\n"
> +               "out vec4 color;\n"
> +               "\n"
>                 "void main()\n"
>                 "{\n"
>                 "  color = vec4(1.0, 0.0, 0.0, 1.0);\n"
> @@ -89,7 +99,9 @@ void piglit_init(int argc, char **argv)
>         glEnableVertexAttribArray(0);
>  
>         glEnable(GL_CONSERVATIVE_RASTERIZATION_INTEL);
> +#ifdef PIGLIT_USE_OPENGL
>         glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
> +#endif

This was the one thing I wasn't really sure about, since GL is a giant state
machine and I had no idea what the implications of not calling this would be.
Otherwise this looks pretty much how I thought.

Reviewed-by: Dylan Baker <dylan at pnwbakers.com>

>         glClear(GL_COLOR_BUFFER_BIT);
>  
>         glDrawArrays(GL_POINTS, 0, 3);
> @@ -100,6 +112,7 @@ void piglit_init(int argc, char **argv)
>         if (!piglit_check_gl_error(GL_INVALID_OPERATION))
>                 piglit_report_result(PIGLIT_FAIL);
>  
> +#ifdef PIGLIT_USE_OPENGL
>         glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
>         glDrawArrays(GL_LINES, 0, 3);
>         if (!piglit_check_gl_error(GL_INVALID_OPERATION))
> @@ -109,6 +122,7 @@ void piglit_init(int argc, char **argv)
>         glDrawArrays(GL_LINES, 0, 3);
>         if (!piglit_check_gl_error(GL_INVALID_OPERATION))
>                 piglit_report_result(PIGLIT_FAIL);
> +#endif
>  
>         piglit_report_result(PIGLIT_PASS);
>  }
> -- 
> 2.18.0
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20180710/46854a68/attachment.sig>


More information about the Piglit mailing list