[Piglit] [PATCH 06/13] shader_runner: Add a 'vertex shader passthrough' mode

Paul Berry stereotype441 at gmail.com
Wed Aug 28 09:46:43 PDT 2013


On 27 August 2013 18:45, Ian Romanick <idr at freedesktop.org> wrote:

> From: Ian Romanick <ian.d.romanick at intel.com>
>
> This may eventually replace uses of 'vertex shader file'.  Even if it
> doesn't, future patches will use this.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: Paul Berry <stereotype441 at gmail.com>
> Cc: Eric Anholt <eric at anholt.net>
> ---
>  tests/shaders/shader_runner.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
> index 5129105..41dbcc0 100644
> --- a/tests/shaders/shader_runner.c
> +++ b/tests/shaders/shader_runner.c
> @@ -56,6 +56,15 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
>
>  PIGLIT_GL_TEST_CONFIG_END
>
> +const char passthrough_vertex_shader_source[] =
> +       "#if __VERSION__ >= 300\n"
>

How about

#if __VERSION__ >= 130

That way, if forward-compatible contexts are in use, we won't try to use
the deprecated keyword "attribute" when compiling for GLSL 1.30-1.50.

With that change, this patch is:

Reviewed-by: Paul Berry <stereotype441 at gmail.com>


> +       "in vec4 piglit_vertex;\n"
> +       "#else\n"
> +       "attribute vec4 piglit_vertex;\n"
> +       "#endif\n"
> +       "void main() { gl_Position = piglit_vertex; }\n"
> +       ;
> +
>  struct component_version {
>         enum version_tag {
>                 VERSION_GL,
> @@ -106,6 +115,7 @@ enum states {
>         requirements,
>         vertex_shader,
>         vertex_shader_file,
> +       vertex_shader_passthrough,
>         vertex_program,
>         geometry_shader,
>         geometry_shader_file,
> @@ -642,6 +652,10 @@ leave_state(enum states state, const char *line)
>                 compile_glsl(GL_VERTEX_SHADER, false);
>                 break;
>
> +       case vertex_shader_passthrough:
> +               compile_glsl(GL_VERTEX_SHADER, false);
> +               break;
> +
>         case vertex_shader_file:
>                 compile_glsl(GL_VERTEX_SHADER, true);
>                 break;
> @@ -809,6 +823,11 @@ process_test_script(const char *script_name)
>                         } else if (string_match("[vertex program]", line))
> {
>                                 state = vertex_program;
>                                 shader_string = NULL;
> +                       } else if (string_match("[vertex shader
> passthrough]", line)) {
> +                               state = vertex_shader_passthrough;
> +                               shader_string =
> +                                       (char *)
> passthrough_vertex_shader_source;
> +                               shader_string_size = strlen(shader_string);
>                         } else if (string_match("[vertex shader file]",
> line)) {
>                                 state = vertex_shader_file;
>                                 shader_string = NULL;
> @@ -842,6 +861,7 @@ process_test_script(const char *script_name)
>                 } else {
>                         switch (state) {
>                         case none:
> +                       case vertex_shader_passthrough:
>                                 break;
>
>                         case requirements:
> --
> 1.8.1.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20130828/a1436cc6/attachment.html>


More information about the Piglit mailing list