<div dir="ltr">On 27 July 2013 12:29, Jordan Justen <span dir="ltr"><<a href="mailto:jljusten@gmail.com" target="_blank">jljusten@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Series Reviewed-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
<br>
I was wondering if it would be worth continuing to support the gs4<br>
tests? (PATCH 1) Probably not.<br>
<br>
One other note not directly related to this series. I tried running<br>
this series on an nVidia binary driver with GL 3.3 support. I ran:<br>
./piglit-run.py -t glsl-1.50 tests/all.tests results<br>
<br>
Interestingly, the result was only about 50% of the tests passed. I<br>
saw a similar result on master.<br></blockquote><div><br></div><div>Hmm, I don't seem to remember the pass rate being that bad on nVidia.  I'll do a comparison on my system before pushing this series.<br></div><div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-Jordan<br>
<div><div class="h5"><br>
On Sat, Jul 27, 2013 at 6:10 AM, Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>> wrote:<br>
> Previously, these tests used ARB_geometry_shader4.  However, the<br>
> initial implementation of geometry shaders in Mesa isn't going to<br>
> support ARB_geometry_shader4.  So test this functionality using GLSL<br>
> 1.50 geometry shaders instead.<br>
> ---<br>
>  generated_tests/gen_builtin_uniform_tests.py     | 35 +++++++++---------------<br>
>  generated_tests/gen_constant_array_size_tests.py |  9 ++----<br>
>  2 files changed, 16 insertions(+), 28 deletions(-)<br>
><br>
> diff --git a/generated_tests/gen_builtin_uniform_tests.py b/generated_tests/gen_builtin_uniform_tests.py<br>
> index e0b6da2..2fd1d67 100644<br>
> --- a/generated_tests/gen_builtin_uniform_tests.py<br>
> +++ b/generated_tests/gen_builtin_uniform_tests.py<br>
> @@ -551,47 +551,38 @@ class GeometryShaderTest(ShaderTest):<br>
>      def test_prefix(self):<br>
>         return 'gs'<br>
><br>
> -    def make_additional_requirements(self):<br>
> -       return 'GL_ARB_geometry_shader4\n'<br>
> +    def glsl_version(self):<br>
> +       return max(150, ShaderTest.glsl_version(self))<br>
><br>
>      def make_vertex_shader(self):<br>
>         shader = ''<br>
> -       if self.glsl_version() >= 140:<br>
> -           shader += "in vec4 vertex;\n"<br>
> +       shader += "in vec4 vertex;\n"<br>
> +       shader += "out vec4 vertex_to_gs;\n"<br>
><br>
>         shader += "void main()\n"<br>
>         shader += "{\n"<br>
> -        if self.glsl_version() >= 140:<br>
> -            shader += "        gl_Position = vertex;\n"<br>
> -        else:<br>
> -            shader += "        gl_Position = gl_Vertex;\n"<br>
> +       shader += "     vertex_to_gs = vertex;\n"<br>
>          shader += "}\n"<br>
><br>
>         return shader<br>
><br>
>      def make_geometry_shader(self):<br>
> -       additional_declarations = \<br>
> -           '#extension GL_ARB_geometry_shader4: enable\n'<br>
> -       if self.glsl_version() >= 130:<br>
> -           additional_declarations += 'out vec4 color;\n'<br>
> -       else:<br>
> -           additional_declarations += 'varying out vec4 color;\n'<br>
> +       additional_declarations = ''<br>
> +       additional_declarations += 'layout(triangles) in;\n'<br>
> +       additional_declarations \<br>
> +           += 'layout(triangle_strip, max_vertices = 3) out;\n'<br>
> +       additional_declarations += 'in vec4 vertex_to_gs[3];\n'<br>
> +       additional_declarations += 'out vec4 color;\n'<br>
>         return self.make_test_shader(<br>
>             additional_declarations,<br>
>             '  vec4 tmp_color;\n',<br>
>             'tmp_color',<br>
> -           '  for (int i = 0; i < gl_VerticesIn; i++) {\n'<br>
> -           '    gl_Position = gl_PositionIn[i];\n'<br>
> +           '  for (int i = 0; i < 3; i++) {\n'<br>
> +           '    gl_Position = vertex_to_gs[i];\n'<br>
>             '    color = tmp_color;\n'<br>
>             '    EmitVertex();\n'<br>
>             '  }\n')<br>
><br>
> -    def make_geometry_layout(self):<br>
> -       layout = 'input type GL_TRIANGLES\n'<br>
> -       layout += 'output type GL_TRIANGLE_STRIP\n'<br>
> -       layout += 'vertices out 3\n'<br>
> -       return layout<br>
> -<br>
>      def make_fragment_shader(self):<br>
>         shader = '''varying vec4 color;<br>
><br>
> diff --git a/generated_tests/gen_constant_array_size_tests.py b/generated_tests/gen_constant_array_size_tests.py<br>
> index c1baf54..b56b875 100644<br>
> --- a/generated_tests/gen_constant_array_size_tests.py<br>
> +++ b/generated_tests/gen_constant_array_size_tests.py<br>
> @@ -215,15 +215,12 @@ class GeometryParserTest(ParserTest):<br>
>      """Derived class for tests that exercise the built-in in a geometry<br>
>      shader.<br>
>      """<br>
> +    def glsl_version(self):<br>
> +       return max(150, ParserTest.glsl_version(self))<br>
> +<br>
>      def test_suffix(self):<br>
>         return 'geom'<br>
><br>
> -    def additional_declarations(self):<br>
> -       return '#extension GL_ARB_geometry_shader4: enable\n'<br>
> -<br>
> -    def additional_extensions(self):<br>
> -       return ['GL_ARB_geometry_shader4']<br>
> -<br>
>      def output_var(self):<br>
>         return 'gl_Position'<br>
><br>
> --<br>
> 1.8.3.4<br>
><br>
</div></div>> _______________________________________________<br>
> Piglit mailing list<br>
> <a href="mailto:Piglit@lists.freedesktop.org">Piglit@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/piglit" target="_blank">http://lists.freedesktop.org/mailman/listinfo/piglit</a><br>
</blockquote></div><br></div></div>