So when executing shader tests, they will be executed with -glsl. This is the force GLSL mode, that is only relevant if the shader test includes SPIR-V shaders.
So for example: ./piglit run tests/shader.py -t ARB_gl_spirv --glsl results/results Will try to run all the shader tests for ARB_gl_spirv using GLSL instead of the default (for that extension) SPIR-V. --- framework/options.py | 1 + framework/programs/run.py | 6 ++++++ framework/test/shader_test.py | 10 ++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/framework/options.py b/framework/options.py index f5f32af78..0500640b2 100644 --- a/framework/options.py +++ b/framework/options.py @@ -59,6 +59,7 @@ class _Options(object): # pylint: disable=too-many-instance-attributes self.deqp_mustpass = False self.process_isolation = True self.jobs = None + self.force_glsl = False # env is used to set some base environment variables that are not going # to change across runs, without sending them to os.environ which is diff --git a/framework/programs/run.py b/framework/programs/run.py index afb7eb78d..798e4ba24 100644 --- a/framework/programs/run.py +++ b/framework/programs/run.py @@ -230,6 +230,10 @@ def _run_parser(input_): type=path.realpath, metavar="<Results Path>", help="Path to results folder") + parser.add_argument("--glsl", + action="store_true", + help="Run shader runner tests with the -glsl (force GLSL) option") + return parser.parse_args(unparsed) @@ -305,6 +309,7 @@ def run(input_): options.OPTIONS.deqp_mustpass = args.deqp_mustpass options.OPTIONS.process_isolation = args.process_isolation options.OPTIONS.jobs = args.jobs + options.OPTIONS.force_glsl = args.glsl # Set the platform to pass to waffle options.OPTIONS.env['PIGLIT_PLATFORM'] = args.platform @@ -419,6 +424,7 @@ def resume(input_): options.OPTIONS.process_isolation = results.options['process_isolation'] options.OPTIONS.jobs = args.jobs options.OPTIONS.no_retry = args.no_retry + options.OPTIONS.force_glsl = results.options['glsl'] core.get_config(args.config_file) diff --git a/framework/test/shader_test.py b/framework/test/shader_test.py index 719b92f9d..90d785bf7 100644 --- a/framework/test/shader_test.py +++ b/framework/test/shader_test.py @@ -32,6 +32,7 @@ import re from framework import exceptions from framework import status +from framework import options from .base import ReducedProcessMixin, TestIsSkip from .opengl import FastSkipMixin, FastSkip from .piglit_test import PiglitBaseTest, ROOT_DIR @@ -188,10 +189,15 @@ class ShaderTest(FastSkipMixin, PiglitBaseTest): @PiglitBaseTest.command.getter def command(self): - """ Add -auto and -fbo to the test command """ + """ Add -auto, -fbo and -glsl (if needed) to the test command """ + command = super(ShaderTest, self).command shaderfile = os.path.join(ROOT_DIR, command[1]) - return [command[0]] + [shaderfile, '-auto', '-fbo'] + + if options.OPTIONS.force_glsl: + return [command[0]] + [shaderfile, '-auto', '-fbo', '-glsl'] + else: + return [command[0]] + [shaderfile, '-auto', '-fbo'] @command.setter def command(self, new): -- 2.14.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit