On 10/18/2017 06:41 PM, Dylan Baker wrote:
Quoting Brian Paul (2017-10-12 21:23:09)
If PIGLIT_NO_FAST_SKIP is defined, the FastSkip/FastSkipMixin classes
are no-ops.  Therefore, the GL/GLSL version info collected in
ShaderTest::__init()__ isn't used.  Skipping the shader test parsing
is a big win for reducing start-up time on Windows.  There's not much
difference either way on Linux.
---
  framework/test/shader_test.py | 30 +++++++++++++++++++-----------
  1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/framework/test/shader_test.py b/framework/test/shader_test.py
index 7f3d876..a3fb8e2 100644
--- a/framework/test/shader_test.py
+++ b/framework/test/shader_test.py
@@ -155,17 +155,25 @@ class ShaderTest(FastSkipMixin, PiglitBaseTest):
      """

      def __init__(self, filename):
-        parser = Parser(filename)
-        parser.parse()
-
-        super(ShaderTest, self).__init__(
-            [parser.prog, parser.filename],
-            run_concurrent=True,
-            gl_required=parser.gl_required,
-            gl_version=parser.gl_version,
-            gles_version=parser.gles_version,
-            glsl_version=parser.glsl_version,
-            glsl_es_version=parser.glsl_es_version)
+        if bool(os.environ.get('PIGLIT_NO_FAST_SKIP', False)):
+            # No need to parse the shader test file if we've disabled
+            # the FastSkip feature.
+            super(ShaderTest, self).__init__(
+                ['shader_runner', filename],
+                run_concurrent=True,)
+        else:
+            parser = Parser(filename)
+            parser.parse()
+
+            super(ShaderTest, self).__init__(
+                [parser.prog, parser.filename],
+                run_concurrent=True,
+                gl_required=parser.gl_required,
+                gl_version=parser.gl_version,
+                gles_version=parser.gles_version,
+                glsl_version=parser.glsl_version,
+                glsl_es_version=parser.glsl_es_version)
+

      @PiglitBaseTest.command.getter
      def command(self):
--
1.9.1

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Does it make more sense to just put this logic in the parser and have it return
an object of Nones immediatly if PIGLIT_NO_FAST_SKIP is set?

I don't think it matters.  Your call.

If it's OK as is, R-b?

-Brian

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to