[Piglit] [PATCH] framework/test/shader_test: Fix MultiShaderRunner handling of directories

Marek Olšák maraeo at gmail.com
Wed Nov 9 11:27:28 UTC 2016


Tested-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Wed, Nov 9, 2016 at 12:51 AM, Dylan Baker <dylan at pnwbakers.com> wrote:
> Currently MultiShaderRunner (used with --process-isolation false)
> expects each directory will contain either GL, GLES2, or GLES3 shaders.
> The barrier between GLES2 and GLES3 is somewhat artificial, since they
> can be promoted to GLES3. This patch allows GLES2 and GLES3 shaders to
> be run together but still enforces a separation between GLES and GL
> shaders.
>
> cc: Marek Olšák <maraeo at gmail.com>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
>  framework/test/shader_test.py | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/framework/test/shader_test.py b/framework/test/shader_test.py
> index 447e8c0..1966149 100644
> --- a/framework/test/shader_test.py
> +++ b/framework/test/shader_test.py
> @@ -200,7 +200,21 @@ class MultiShaderTest(ReducedProcessMixin, PiglitBaseTest):
>              subtest = os.path.basename(os.path.splitext(each)[0]).lower()
>
>              if prog is not None:
> -                assert parser.prog == prog
> +                # This allows mixing GLES2 and GLES3 shader test files
> +                # together. Since GLES2 profiles can be promoted to GLES3, this
> +                # is fine.
> +                if parser.prog != prog:
> +                    # Pylint can't figure out that prog is not None.
> +                    if 'gles' in parser.prog and 'gles' in prog:  # pylint: disable=unsupported-membership-test
> +                        prog = max(parser.prog, prog)
> +                    else:
> +                        # The only way we can get here is if one is GLES and
> +                        # one is not, since there is only one desktop runner
> +                        # and so it will never fail the is parser.prog != prog
> +                        # check
> +                        raise exceptions.PiglitInternalError(
> +                            'GLES and GL shaders in the same command!\n'
> +                            'Cannot pick a shader_runner binary!')
>              else:
>                  prog = parser.prog
>
> --
> 2.10.2
>


More information about the Piglit mailing list