[Piglit] [PATCH] tests: fix ext_shader_samples_identical ES 3.1 vert test

2016-09-01 Thread Dylan Baker
This test is currently completely broken. It uses names defined in
GL_OES_texture_storage_multisample_2d_array without adding a #extension
directive or a config requirement. It also doesn't declare precision.

Signed-off-by: Dylan Baker 
cc: i...@freedesktop.org
---
 .../glsl-es-3.10/compiler/all-functions.vert  | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git 
a/tests/spec/ext_shader_samples_identical/glsl-es-3.10/compiler/all-functions.vert
 
b/tests/spec/ext_shader_samples_identical/glsl-es-3.10/compiler/all-functions.vert
index cc188ab..e1b154d 100644
--- 
a/tests/spec/ext_shader_samples_identical/glsl-es-3.10/compiler/all-functions.vert
+++ 
b/tests/spec/ext_shader_samples_identical/glsl-es-3.10/compiler/all-functions.vert
@@ -1,18 +1,19 @@
 // [config]
 // expect_result: pass
 // glsl_version: 3.10
-// require_extensions: GL_EXT_shader_samples_identical
+// require_extensions: GL_EXT_shader_samples_identical 
GL_OES_texture_storage_multisample_2d_array
 // [end config]
 
 #version 310 es
 #extension GL_EXT_shader_samples_identical: require
+#extension GL_OES_texture_storage_multisample_2d_array: require
 
-uniform sampler2DMS s1;
-uniform isampler2DMS s2;
-uniform usampler2DMS s3;
-uniform sampler2DMSArray s4;
-uniform isampler2DMSArray s5;
-uniform usampler2DMSArray s6;
+uniform mediump sampler2DMS s1;
+uniform mediump isampler2DMS s2;
+uniform mediump usampler2DMS s3;
+uniform mediump sampler2DMSArray s4;
+uniform mediump isampler2DMSArray s5;
+uniform mediump usampler2DMSArray s6;
 
 flat out ivec2 data;
 
-- 
2.9.3

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


Re: [Piglit] [PATCH 1/5] gl-1.0: Move scissor tests here.

2016-09-01 Thread Brian Paul

Series LGTM.  Thanks.

Reviewed-by: Brian Paul 


On 09/01/2016 12:44 PM, Matt Turner wrote:

---
  tests/all.py   | 16 
  tests/general/CMakeLists.gl.txt|  8 
  tests/spec/gl-1.0/CMakeLists.gl.txt|  8 
  tests/{general => spec/gl-1.0}/scissor-bitmap.c|  0
  tests/{general => spec/gl-1.0}/scissor-clear.c |  0
  tests/{general => spec/gl-1.0}/scissor-copypixels.c|  0
  tests/{general => spec/gl-1.0}/scissor-depth-clear.c   |  0
  tests/{general => spec/gl-1.0}/scissor-many.c  |  0
  tests/{general => spec/gl-1.0}/scissor-offscreen.c |  0
  tests/{general => spec/gl-1.0}/scissor-polygon.c   |  0
  tests/{general => spec/gl-1.0}/scissor-stencil-clear.c |  0
  11 files changed, 16 insertions(+), 16 deletions(-)
  rename tests/{general => spec/gl-1.0}/scissor-bitmap.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-clear.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-copypixels.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-depth-clear.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-many.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-offscreen.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-polygon.c (100%)
  rename tests/{general => spec/gl-1.0}/scissor-stencil-clear.c (100%)

diff --git a/tests/all.py b/tests/all.py
index e110f59..276f5a8 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -859,14 +859,6 @@ with profile.group_manager(
  g(['readpix-z'])
  g(['roundmode-getintegerv'], run_concurrent=False)
  g(['roundmode-pixelstore'], run_concurrent=False)
-g(['scissor-bitmap'], run_concurrent=False)
-g(['scissor-clear'], run_concurrent=False)
-g(['scissor-copypixels'], run_concurrent=False)
-g(['scissor-depth-clear'], run_concurrent=False)
-g(['scissor-many'], run_concurrent=False)
-g(['scissor-offscreen'], run_concurrent=False)
-g(['scissor-polygon'])
-g(['scissor-stencil-clear'], run_concurrent=False)
  g(['select', 'gl11'], 'GL_SELECT - no test function', 
run_concurrent=False)
  g(['select', 'depth'], 'GL_SELECT - depth-test enabled',
run_concurrent=False)
@@ -971,6 +963,14 @@ with profile.group_manager(
  g(['gl-1.0-logicop'])
  g(['gl-1.0-no-op-paths'])
  g(['gl-1.0-simple-readbuffer'])
+g(['gl-1.0-scissor-bitmap'], run_concurrent=False)
+g(['gl-1.0-scissor-clear'], run_concurrent=False)
+g(['gl-1.0-scissor-copypixels'], run_concurrent=False)
+g(['gl-1.0-scissor-depth-clear'], run_concurrent=False)
+g(['gl-1.0-scissor-many'], run_concurrent=False)
+g(['gl-1.0-scissor-offscreen'], run_concurrent=False)
+g(['gl-1.0-scissor-polygon'])
+g(['gl-1.0-scissor-stencil-clear'], run_concurrent=False)

  with profile.group_manager(
  PiglitGLTest,
diff --git a/tests/general/CMakeLists.gl.txt b/tests/general/CMakeLists.gl.txt
index 3a46fb0..ceec9f0 100644
--- a/tests/general/CMakeLists.gl.txt
+++ b/tests/general/CMakeLists.gl.txt
@@ -99,14 +99,6 @@ piglit_add_executable (read-front read-front.c)
  piglit_add_executable (readpix-z readpix-z.c)
  piglit_add_executable (roundmode-getintegerv roundmode-getintegerv.c)
  piglit_add_executable (roundmode-pixelstore roundmode-pixelstore.c)
-piglit_add_executable (scissor-bitmap scissor-bitmap.c)
-piglit_add_executable (scissor-clear scissor-clear.c)
-piglit_add_executable (scissor-copypixels scissor-copypixels.c)
-piglit_add_executable (scissor-depth-clear scissor-depth-clear.c)
-piglit_add_executable (scissor-many scissor-many.c)
-piglit_add_executable (scissor-offscreen scissor-offscreen.c)
-piglit_add_executable (scissor-polygon scissor-polygon.c)
-piglit_add_executable (scissor-stencil-clear scissor-stencil-clear.c)
  piglit_add_executable (select select.c)
  piglit_add_executable (stencil-drawpixels stencil-drawpixels.c)
  piglit_add_executable (stencil-twoside stencil-twoside.c)
diff --git a/tests/spec/gl-1.0/CMakeLists.gl.txt 
b/tests/spec/gl-1.0/CMakeLists.gl.txt
index 219b9b1..e79f0cb 100644
--- a/tests/spec/gl-1.0/CMakeLists.gl.txt
+++ b/tests/spec/gl-1.0/CMakeLists.gl.txt
@@ -29,6 +29,14 @@ piglit_add_executable (gl-1.0-rastercolor rastercolor.c)
  piglit_add_executable (gl-1.0-readpixsanity readpix.c)
  piglit_add_executable (gl-1.0-readpixels-oob readpixels-oob.c)
  piglit_add_executable (gl-1.0-rendermode-feedback rendermode-feedback.c)
+piglit_add_executable (gl-1.0-scissor-bitmap scissor-bitmap.c)
+piglit_add_executable (gl-1.0-scissor-clear scissor-clear.c)
+piglit_add_executable (gl-1.0-scissor-copypixels scissor-copypixels.c)
+piglit_add_executable (gl-1.0-scissor-depth-clear scissor-depth-clear.c)
+piglit_add_executable (gl-1.0-scissor-many scissor-many.c)
+piglit_add_executable (gl-1.0-scissor-offscreen scissor-offscreen.c)
+piglit_add_executable (gl-1.0-scissor-polygon scissor-polygon.c)
+piglit_add_executable 

Re: [Piglit] [PATCH 1/5] gl-1.0: Move scissor tests here.

2016-09-01 Thread Dylan Baker
Quoting Dylan Baker (2016-09-01 12:03:35)
> 
> Maybe it's also a good time to evaluate whether these actually need to
> be run serially?
> 

Or maybe I should read all the patches before I send comments.


signature.asc
Description: signature
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 1/5] gl-1.0: Move scissor tests here.

2016-09-01 Thread Dylan Baker
Quoting Matt Turner (2016-09-01 11:44:48)
> ---
>  tests/all.py   | 16 
>  tests/general/CMakeLists.gl.txt|  8 
>  tests/spec/gl-1.0/CMakeLists.gl.txt|  8 
>  tests/{general => spec/gl-1.0}/scissor-bitmap.c|  0
>  tests/{general => spec/gl-1.0}/scissor-clear.c |  0
>  tests/{general => spec/gl-1.0}/scissor-copypixels.c|  0
>  tests/{general => spec/gl-1.0}/scissor-depth-clear.c   |  0
>  tests/{general => spec/gl-1.0}/scissor-many.c  |  0
>  tests/{general => spec/gl-1.0}/scissor-offscreen.c |  0
>  tests/{general => spec/gl-1.0}/scissor-polygon.c   |  0
>  tests/{general => spec/gl-1.0}/scissor-stencil-clear.c |  0
>  11 files changed, 16 insertions(+), 16 deletions(-)
>  rename tests/{general => spec/gl-1.0}/scissor-bitmap.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-clear.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-copypixels.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-depth-clear.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-many.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-offscreen.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-polygon.c (100%)
>  rename tests/{general => spec/gl-1.0}/scissor-stencil-clear.c (100%)
> 
> diff --git a/tests/all.py b/tests/all.py
> index e110f59..276f5a8 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -859,14 +859,6 @@ with profile.group_manager(
>  g(['readpix-z'])
>  g(['roundmode-getintegerv'], run_concurrent=False)
>  g(['roundmode-pixelstore'], run_concurrent=False)
> -g(['scissor-bitmap'], run_concurrent=False)
> -g(['scissor-clear'], run_concurrent=False)
> -g(['scissor-copypixels'], run_concurrent=False)
> -g(['scissor-depth-clear'], run_concurrent=False)
> -g(['scissor-many'], run_concurrent=False)
> -g(['scissor-offscreen'], run_concurrent=False)
> -g(['scissor-polygon'])
> -g(['scissor-stencil-clear'], run_concurrent=False)
>  g(['select', 'gl11'], 'GL_SELECT - no test function', 
> run_concurrent=False)
>  g(['select', 'depth'], 'GL_SELECT - depth-test enabled',
>run_concurrent=False)
> @@ -971,6 +963,14 @@ with profile.group_manager(
>  g(['gl-1.0-logicop'])
>  g(['gl-1.0-no-op-paths'])
>  g(['gl-1.0-simple-readbuffer'])
> +g(['gl-1.0-scissor-bitmap'], run_concurrent=False)
> +g(['gl-1.0-scissor-clear'], run_concurrent=False)
> +g(['gl-1.0-scissor-copypixels'], run_concurrent=False)
> +g(['gl-1.0-scissor-depth-clear'], run_concurrent=False)
> +g(['gl-1.0-scissor-many'], run_concurrent=False)
> +g(['gl-1.0-scissor-offscreen'], run_concurrent=False)
> +g(['gl-1.0-scissor-polygon'])
> +g(['gl-1.0-scissor-stencil-clear'], run_concurrent=False)

Maybe it's also a good time to evaluate whether these actually need to
be run serially?

>  
>  with profile.group_manager(
>  PiglitGLTest,
> diff --git a/tests/general/CMakeLists.gl.txt b/tests/general/CMakeLists.gl.txt
> index 3a46fb0..ceec9f0 100644
> --- a/tests/general/CMakeLists.gl.txt
> +++ b/tests/general/CMakeLists.gl.txt
> @@ -99,14 +99,6 @@ piglit_add_executable (read-front read-front.c)
>  piglit_add_executable (readpix-z readpix-z.c)
>  piglit_add_executable (roundmode-getintegerv roundmode-getintegerv.c)
>  piglit_add_executable (roundmode-pixelstore roundmode-pixelstore.c)
> -piglit_add_executable (scissor-bitmap scissor-bitmap.c)
> -piglit_add_executable (scissor-clear scissor-clear.c)
> -piglit_add_executable (scissor-copypixels scissor-copypixels.c)
> -piglit_add_executable (scissor-depth-clear scissor-depth-clear.c)
> -piglit_add_executable (scissor-many scissor-many.c)
> -piglit_add_executable (scissor-offscreen scissor-offscreen.c)
> -piglit_add_executable (scissor-polygon scissor-polygon.c)
> -piglit_add_executable (scissor-stencil-clear scissor-stencil-clear.c)
>  piglit_add_executable (select select.c)
>  piglit_add_executable (stencil-drawpixels stencil-drawpixels.c)
>  piglit_add_executable (stencil-twoside stencil-twoside.c)
> diff --git a/tests/spec/gl-1.0/CMakeLists.gl.txt 
> b/tests/spec/gl-1.0/CMakeLists.gl.txt
> index 219b9b1..e79f0cb 100644
> --- a/tests/spec/gl-1.0/CMakeLists.gl.txt
> +++ b/tests/spec/gl-1.0/CMakeLists.gl.txt
> @@ -29,6 +29,14 @@ piglit_add_executable (gl-1.0-rastercolor rastercolor.c)
>  piglit_add_executable (gl-1.0-readpixsanity readpix.c)
>  piglit_add_executable (gl-1.0-readpixels-oob readpixels-oob.c)
>  piglit_add_executable (gl-1.0-rendermode-feedback rendermode-feedback.c)
> +piglit_add_executable (gl-1.0-scissor-bitmap scissor-bitmap.c)
> +piglit_add_executable (gl-1.0-scissor-clear scissor-clear.c)
> +piglit_add_executable (gl-1.0-scissor-copypixels scissor-copypixels.c)
> +piglit_add_executable (gl-1.0-scissor-depth-clear scissor-depth-clear.c)
> +piglit_add_executable (gl-1.0-scissor-many scissor-many.c)
> 

[Piglit] [PATCH v2 5/5] unittests: don't require totals section in schema

2016-09-01 Thread Dylan Baker
We generate this on the fly if it's not there and add it.

Signed-off-by: Dylan Baker 
---
 unittests/framework/backends/schema/piglit-8.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/unittests/framework/backends/schema/piglit-8.json 
b/unittests/framework/backends/schema/piglit-8.json
index 8661f40..9b000fd 100644
--- a/unittests/framework/backends/schema/piglit-8.json
+++ b/unittests/framework/backends/schema/piglit-8.json
@@ -102,7 +102,7 @@
 }
 },
 "additionalProperties": false,
-"required": [ "__type__", "clinfo", "glxinfo", "lspci", "wglinfo", "name", 
"results_version", "uname", "time_elapsed", "totals", "tests" ],
+"required": [ "__type__", "clinfo", "glxinfo", "lspci", "wglinfo", "name", 
"results_version", "uname", "time_elapsed", "tests" ],
 "definitions": {
 "timeAttribute": {
 "type": "object",
-- 
git-series 0.8.10
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH v2 4/5] unittests: Fix JSON schema test to pass time_elapsed

2016-09-01 Thread Dylan Baker
Signed-off-by: Dylan Baker 
---
 unittests/framework/backends/test_json.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/unittests/framework/backends/test_json.py 
b/unittests/framework/backends/test_json.py
index e6574a6..0c49aff 100644
--- a/unittests/framework/backends/test_json.py
+++ b/unittests/framework/backends/test_json.py
@@ -112,7 +112,8 @@ class TestJSONBackend(object):
 test.initialize(shared.INITIAL_METADATA)
 with test.write_test(self.name) as t:
 t(self.result)
-test.finalize()
+test.finalize(
+{'time_elapsed': results.TimeAttribute(start=0.0, end=1.0)})
 
 def test_metadata_removed(self, tmpdir):
 assert not tmpdir.join('metadata.json').check()
-- 
git-series 0.8.10
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH v2 3/5] tox: add a streams target.

2016-09-01 Thread Dylan Baker
Also enables the target in travis and appveyor.

Signed-off-by: Dylan Baker 
---
 .travis.yml  | 8 
 appveyor.yml | 8 
 tox.ini  | 3 ++-
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5c3bf08..97a97a7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,10 +2,10 @@ language: python
 python: 3.5
 cache: pip
 env:
-- TOX_ENV="py27-{noaccel,accel-nix}"
-- TOX_ENV="py33-{noaccel,accel-nix}"
-- TOX_ENV="py34-{noaccel,accel-nix}"
-- TOX_ENV="py35-{noaccel,accel-nix}"
+- TOX_ENV="py27-{noaccel,accel-nix,streams}"
+- TOX_ENV="py33-{noaccel,accel-nix,streams}"
+- TOX_ENV="py34-{noaccel,accel-nix,streams}"
+- TOX_ENV="py35-{noaccel,accel-nix,streams}"
 install:
 pip install tox
 script:
diff --git a/appveyor.yml b/appveyor.yml
index 3588df8..0e30177 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -13,25 +13,25 @@ environment:
 WITH_COMPILER: 'cmd /E:ON /V:ON /C .\ci\appveyor\compiler.cmd'
 
 matrix:
-- TOXENV: 'py27-{noaccel,accel-win}'
+- TOXENV: 'py27-{noaccel,accel-win,streams}'
   TOXPYTHON: C:\Python27\python.exe
   PYTHON_HOME: C:\Python27
   PYTHON_VERSION: '2.7'
   PYTHON_ARCH: '32'
 
-- TOXENV: 'py33-{noaccel,accel-win}'
+- TOXENV: 'py33-{noaccel,accel-win,streams}'
   TOXPYTHON: C:\Python33\python.exe
   PYTHON_HOME: C:\Python33
   PYTHON_VERSION: '3.3'
   PYTHON_ARCH: '32'
 
-- TOXENV: 'py34-{noaccel,accel-win}'
+- TOXENV: 'py34-{noaccel,accel-win,streams}'
   TOXPYTHON: C:\Python34\python.exe
   PYTHON_HOME: C:\Python34
   PYTHON_VERSION: '3.4'
   PYTHON_ARCH: '32'
 
-- TOXENV: 'py35-{noaccel,accel-win}'
+- TOXENV: 'py35-{noaccel,accel-win,streams}'
   TOXPYTHON: C:\Python35\python.exe
   PYTHON_HOME: C:\Python35
   PYTHON_VERSION: '3.5'
diff --git a/tox.ini b/tox.ini
index 04e025d..c7e18cf 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py{27,33,34,35}-{generator,noaccel}, py{27,33,34,35}-accel-{win,nix}
+envlist = py{27,33,34,35}-{generator,noaccel}, 
py{27,33,34,35}-accel-{win,nix}, py{27,33,34,35}-streams
 skipsdist = True
 
 [pytest]
@@ -33,3 +33,4 @@ deps =
 commands = 
 {accel,noaccel}: py.test -rw unittests/framework unittests/suites []
 generator: py.test -rw unittests/generators []
+streams: py.test -rw unittests/framework/backends/test_json.py []
-- 
git-series 0.8.10
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH v2 2/5] framework: Add support for jsonstreams

2016-09-01 Thread Dylan Baker
This commit adds support in the json backend for using an external
library that I wrote called jsonstreams. It's a pretty self-explanatory
library, and for piglit has several advantages. First, I've measured
a consistent 10-15 second speed up for running the quick profile.
Second, it *vastly* reduces the amount of memory piglit needs to write
the final JSON document out.

This is not implemented as a separate backend because the way that
piglit's backend are implemented only one backend can handle a specific
file extension. While this can be worked around by setting the
extension to something like '.junit.xml' that doesn't really make sense
here, since they are writing the same format, just using different
means.

Signed-off-by: Dylan Baker 
---
 framework/backends/json.py | 111 ++
 tox.ini|   3 +-
 2 files changed, 79 insertions(+), 35 deletions(-)

diff --git a/framework/backends/json.py b/framework/backends/json.py
index 7533f53..69f5319 100644
--- a/framework/backends/json.py
+++ b/framework/backends/json.py
@@ -24,6 +24,7 @@ from __future__ import (
 absolute_import, division, print_function, unicode_literals
 )
 import collections
+import functools
 import os
 import posixpath
 import shutil
@@ -35,6 +36,11 @@ except ImportError:
 import json
 
 import six
+try:
+import jsonstreams
+_STREAMS = True
+except ImportError:
+_STREAMS = False
 
 from framework import status, results, exceptions, compat
 from .abstract import FileBackend, write_compressed
@@ -130,41 +136,78 @@ class JSONBackend(FileBackend):
 containers that are still open and closes the file
 
 """
-# Create a dictionary that is full of data to be written to a single
-# file
-data = collections.OrderedDict()
-
-# Load the metadata and put it into a dictionary
-with open(os.path.join(self._dest, 'metadata.json'), 'r') as f:
-data.update(json.load(f))
-
-# If there is more metadata add it the dictionary
-if metadata:
-data.update(metadata)
-
-# Add the tests to the dictionary
-data['tests'] = collections.OrderedDict()
-
-test_dir = os.path.join(self._dest, 'tests')
-for test in os.listdir(test_dir):
-test = os.path.join(test_dir, test)
-if os.path.isfile(test):
-# Try to open the json snippets. If we fail to open a test then
-# throw the whole thing out. This gives us atomic writes, the
-# writing worked and is valid or it didn't work.
-try:
-with open(test, 'r') as f:
-data['tests'].update(json.load(f, 
object_hook=piglit_decoder))
-except ValueError:
-pass
-assert data['tests']
-
-data = results.TestrunResult.from_dict(data)
+# If jsonstreams is not present then build a complete tree of all of
+# the data and write it with json.dump
+if not _STREAMS:
+# Create a dictionary that is full of data to be written to a
+# single file
+data = collections.OrderedDict()
+
+# Load the metadata and put it into a dictionary
+with open(os.path.join(self._dest, 'metadata.json'), 'r') as f:
+data.update(json.load(f))
+
+# If there is more metadata add it the dictionary
+if metadata:
+data.update(metadata)
+
+# Add the tests to the dictionary
+data['tests'] = collections.OrderedDict()
+
+test_dir = os.path.join(self._dest, 'tests')
+for test in os.listdir(test_dir):
+test = os.path.join(test_dir, test)
+if os.path.isfile(test):
+# Try to open the json snippets. If we fail to open a test
+# then throw the whole thing out. This gives us atomic
+# writes, the writing worked and is valid or it didn't
+# work.
+try:
+with open(test, 'r') as f:
+data['tests'].update(
+json.load(f, object_hook=piglit_decoder))
+except ValueError:
+pass
+assert data['tests']
+
+data = results.TestrunResult.from_dict(data)
+
+# write out the combined file. Use the compression writer from the
+# FileBackend
+with self._write_final(os.path.join(self._dest, 'results.json')) 
as f:
+json.dump(data, f, default=piglit_encoder, indent=INDENT)
+
+# Otherwise use jsonstreams to write the final dictionary. This uses an
+# external library, but is slightly faster and uses considerably less
+# memory that building a complete tree.
+else:
+   

[Piglit] [PATCH v2 1/5] unittests: Fix shared data for backends.

2016-09-01 Thread Dylan Baker
It turns out that the backends coincidently put certain fields in, but
the new jsonstreams backend does not automatically add these fields, it
must be passed them. (This is the behavior of piglit when not testing).

Signed-off-by: Dylan Baker 
---
 unittests/framework/backends/shared.py | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/unittests/framework/backends/shared.py 
b/unittests/framework/backends/shared.py
index eeffe76..dd90fc2 100644
--- a/unittests/framework/backends/shared.py
+++ b/unittests/framework/backends/shared.py
@@ -30,9 +30,12 @@ from framework.options import OPTIONS
 
 INITIAL_METADATA = {
 'name': 'name',
-'test_count': 0,
-'env': {},
 'options': dict(OPTIONS),
+'clinfo': None,
+'glxinfo': None,
+'wglinfo': None,
+'lspci': None,
+'uname': None,
 }
 
 # This is current JSON data, in raw form with only the minimum required
-- 
git-series 0.8.10
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH v2 0/5] Add support for JSON backend to use a streaming writer

2016-09-01 Thread Dylan Baker
This series adds support for using jsonstreams, which is a package I
wrote for writing JSON documents using a streaming API. The goal is to
reduce the memory usage of piglit, especially while writing out the
final result file.

This is a purely optional dependency, and those with fast machines with
a lot of RAM might not care, but machines with memory constraints this
should help a lot. I measured on my machine, writing out the final
document requires about 4Gb of RAM without this series, which was the
single largest consumer of RAM on the system. With this series applied
and using jsonstreams I saw the overhead reduced to a few Mbs. It also,
for me, reduced the runtime of large runs (like running the quick
profile) by a few seconds, though for small runs it increased it by a
tiny bit.

Jsonstreams is available through pypi (the python package index) and
can be installed through pip (pip install --user jsonstreams) and
supports the same versions of python that piglit itself does (2.7, 3.3,
3.4, and 3.5 currently). Archlinux users can install packages from the
aur called python-jsonstreams and python2-jsonstreams.

Dylan Baker (5):
  unittests: Fix shared data for backends.
  framework: Add support for jsonstreams
  tox: add a streams target.
  unittests: Fix JSON schema test to pass time_elapsed
  unittests: don't require totals section in schema

 .travis.yml   |   8 +-
 appveyor.yml  |   8 +-
 framework/backends/json.py| 111 ++-
 tox.ini   |   6 +-
 unittests/framework/backends/schema/piglit-8.json |   2 +-
 unittests/framework/backends/shared.py|   7 +-
 unittests/framework/backends/test_json.py |   3 +-
 7 files changed, 97 insertions(+), 48 deletions(-)

-- 
git-series 0.8.10
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH 5/5] gl-1.0: Add a scissored depth clear test that uses negative x, y.

2016-09-01 Thread Matt Turner
Exposes a bug in i965, fixed by

i965: fix noop_scissor range issue on width/height
---
 tests/all.py   |  1 +
 tests/spec/gl-1.0/CMakeLists.gl.txt|  1 +
 .../spec/gl-1.0/scissor-depth-clear-negative-xy.c  | 89 ++
 3 files changed, 91 insertions(+)
 create mode 100644 tests/spec/gl-1.0/scissor-depth-clear-negative-xy.c

diff --git a/tests/all.py b/tests/all.py
index a57256f..ab392c7 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -967,6 +967,7 @@ with profile.group_manager(
 g(['gl-1.0-scissor-clear'])
 g(['gl-1.0-scissor-copypixels'])
 g(['gl-1.0-scissor-depth-clear'])
+g(['gl-1.0-scissor-depth-clear-negative-xy'])
 g(['gl-1.0-scissor-many'])
 g(['gl-1.0-scissor-offscreen'])
 g(['gl-1.0-scissor-polygon'])
diff --git a/tests/spec/gl-1.0/CMakeLists.gl.txt 
b/tests/spec/gl-1.0/CMakeLists.gl.txt
index e79f0cb..97f988f 100644
--- a/tests/spec/gl-1.0/CMakeLists.gl.txt
+++ b/tests/spec/gl-1.0/CMakeLists.gl.txt
@@ -33,6 +33,7 @@ piglit_add_executable (gl-1.0-scissor-bitmap scissor-bitmap.c)
 piglit_add_executable (gl-1.0-scissor-clear scissor-clear.c)
 piglit_add_executable (gl-1.0-scissor-copypixels scissor-copypixels.c)
 piglit_add_executable (gl-1.0-scissor-depth-clear scissor-depth-clear.c)
+piglit_add_executable (gl-1.0-scissor-depth-clear-negative-xy 
scissor-depth-clear-negative-xy.c)
 piglit_add_executable (gl-1.0-scissor-many scissor-many.c)
 piglit_add_executable (gl-1.0-scissor-offscreen scissor-offscreen.c)
 piglit_add_executable (gl-1.0-scissor-polygon scissor-polygon.c)
diff --git a/tests/spec/gl-1.0/scissor-depth-clear-negative-xy.c 
b/tests/spec/gl-1.0/scissor-depth-clear-negative-xy.c
new file mode 100644
index 000..e481ff9
--- /dev/null
+++ b/tests/spec/gl-1.0/scissor-depth-clear-negative-xy.c
@@ -0,0 +1,89 @@
+/*
+ * Copyright © 2009, 2016 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *Eric Anholt 
+ *Matt Turner 
+ *
+ */
+
+/** @file
+ *
+ * Tests that glScissor properly affects glClear(GL_DEPTH_BUFFER_BIT) when
+ * x or y is negative.
+ */
+
+#include "piglit-util-gl.h"
+
+PIGLIT_GL_TEST_CONFIG_BEGIN
+
+   config.supports_gl_compat_version = 10;
+
+   config.window_visual = PIGLIT_GL_VISUAL_DOUBLE | PIGLIT_GL_VISUAL_RGB | 
PIGLIT_GL_VISUAL_DEPTH | PIGLIT_GL_VISUAL_STENCIL;
+
+PIGLIT_GL_TEST_CONFIG_END
+
+enum piglit_result
+piglit_display(void)
+{
+   GLboolean pass = GL_TRUE;
+   static float green[] = {0.0, 1.0, 0.0, 0.0};
+   static float blue[]  = {0.0, 0.0, 1.0, 0.0};
+
+   /* whole window green -- depth fail will be this. */
+   glClearColor(0.0, 1.0, 0.0, 0.0);
+   glClear(GL_COLOR_BUFFER_BIT);
+
+   /* Clear depth to 0 (fail) */
+   glClearDepth(0.0);
+   glClear(GL_DEPTH_BUFFER_BIT);
+
+   /* Clear depth quad the size of the fb at -16, -16 to be drawn blue. */
+   glEnable(GL_SCISSOR_TEST);
+   glScissor(-16, -16, piglit_width, piglit_height);
+   glClearDepth(1.0);
+   glClear(GL_DEPTH_BUFFER_BIT);
+
+   /* Now draw a quad midway between 0.0 and 1.0 depth so only that
+* scissored depth clear will get rasterized.
+*/
+   glEnable(GL_DEPTH_TEST);
+   glDisable(GL_SCISSOR_TEST);
+   glDepthFunc(GL_LESS);
+   glColor4fv(blue);
+   piglit_draw_rect(0, 0, piglit_width, piglit_height);
+
+   pass &= piglit_probe_rect_rgb(0, 0, piglit_width - 16, piglit_height - 
16, blue);
+
+   pass &= piglit_probe_rect_rgb(piglit_width - 16, 0, 16, piglit_height, 
green);
+   pass &= piglit_probe_rect_rgb(0, piglit_height - 16, piglit_width - 16, 
16, green);
+
+   piglit_present_results();
+
+   return pass ? PIGLIT_PASS : PIGLIT_FAIL;
+}
+
+void
+piglit_init(int argc, char **argv)
+{
+   

[Piglit] [PATCH 3/5] gl-1.0: Call piglit_ortho_projection from piglit_init.

2016-09-01 Thread Matt Turner
In some cases we called it from piglit_display, and in others we had it
open-coded in a reshape function.
---
 tests/spec/gl-1.0/scissor-bitmap.c|  2 +-
 tests/spec/gl-1.0/scissor-clear.c | 17 +
 tests/spec/gl-1.0/scissor-copypixels.c|  3 +--
 tests/spec/gl-1.0/scissor-depth-clear.c   | 17 +
 tests/spec/gl-1.0/scissor-many.c  | 17 +
 tests/spec/gl-1.0/scissor-offscreen.c |  3 +--
 tests/spec/gl-1.0/scissor-stencil-clear.c | 11 +--
 7 files changed, 7 insertions(+), 63 deletions(-)

diff --git a/tests/spec/gl-1.0/scissor-bitmap.c 
b/tests/spec/gl-1.0/scissor-bitmap.c
index 001072f..b200bf2 100644
--- a/tests/spec/gl-1.0/scissor-bitmap.c
+++ b/tests/spec/gl-1.0/scissor-bitmap.c
@@ -157,7 +157,6 @@ piglit_display()
int start_x, start_y;
struct probes probes;
GLboolean pass = GL_TRUE;
-   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
memset(, 0, sizeof(probes));
 
@@ -305,4 +304,5 @@ void
 piglit_init(int argc, char **argv)
 {
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff --git a/tests/spec/gl-1.0/scissor-clear.c 
b/tests/spec/gl-1.0/scissor-clear.c
index 2872581..dbc5c0a 100644
--- a/tests/spec/gl-1.0/scissor-clear.c
+++ b/tests/spec/gl-1.0/scissor-clear.c
@@ -71,23 +71,8 @@ piglit_display(void)
return pass ? PIGLIT_PASS : PIGLIT_FAIL;
 }
 
-
-static void reshape(int width, int height)
-{
-   piglit_width = width;
-   piglit_height = height;
-
-   glViewport(0, 0, width, height);
-   glMatrixMode(GL_PROJECTION);
-   glLoadIdentity();
-
-   glOrtho(0.0, width, 0.0, height, -1.0, 1.0);
-   glMatrixMode(GL_MODELVIEW);
-   glLoadIdentity();
-}
-
 void
 piglit_init(int argc, char **argv)
 {
-   reshape(piglit_width, piglit_height);
+   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff --git a/tests/spec/gl-1.0/scissor-copypixels.c 
b/tests/spec/gl-1.0/scissor-copypixels.c
index 568ac81..74da945 100644
--- a/tests/spec/gl-1.0/scissor-copypixels.c
+++ b/tests/spec/gl-1.0/scissor-copypixels.c
@@ -73,8 +73,6 @@ piglit_display(void)
int dst_x = piglit_width / 2 + 10, dst_y;
int dst_w = 10, dst_h = 10;
 
-   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
-
/* whole window red */
glClearColor(1.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
@@ -115,4 +113,5 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
+   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff --git a/tests/spec/gl-1.0/scissor-depth-clear.c 
b/tests/spec/gl-1.0/scissor-depth-clear.c
index ac1de02..4bd17ea 100644
--- a/tests/spec/gl-1.0/scissor-depth-clear.c
+++ b/tests/spec/gl-1.0/scissor-depth-clear.c
@@ -89,23 +89,8 @@ piglit_display(void)
return pass ? PIGLIT_PASS : PIGLIT_FAIL;
 }
 
-
-static void reshape(int width, int height)
-{
-   piglit_width = width;
-   piglit_height = height;
-
-   glViewport(0, 0, width, height);
-   glMatrixMode(GL_PROJECTION);
-   glLoadIdentity();
-
-   glOrtho(0.0, width, 0.0, height, -1.0, 1.0);
-   glMatrixMode(GL_MODELVIEW);
-   glLoadIdentity();
-}
-
 void
 piglit_init(int argc, char **argv)
 {
-   reshape(piglit_width, piglit_height);
+   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff --git a/tests/spec/gl-1.0/scissor-many.c b/tests/spec/gl-1.0/scissor-many.c
index d581416..14762e3 100644
--- a/tests/spec/gl-1.0/scissor-many.c
+++ b/tests/spec/gl-1.0/scissor-many.c
@@ -69,23 +69,8 @@ piglit_display(void)
return pass ? PIGLIT_PASS : PIGLIT_FAIL;
 }
 
-
-static void reshape(int width, int height)
-{
-   piglit_width = width;
-   piglit_height = height;
-
-   glViewport(0, 0, width, height);
-   glMatrixMode(GL_PROJECTION);
-   glLoadIdentity();
-
-   glOrtho(0.0, width, 0.0, height, -1.0, 1.0);
-   glMatrixMode(GL_MODELVIEW);
-   glLoadIdentity();
-}
-
 void
 piglit_init(int argc, char **argv)
 {
-   reshape(piglit_width, piglit_height);
+   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff --git a/tests/spec/gl-1.0/scissor-offscreen.c 
b/tests/spec/gl-1.0/scissor-offscreen.c
index 96abf59..8f96180 100644
--- a/tests/spec/gl-1.0/scissor-offscreen.c
+++ b/tests/spec/gl-1.0/scissor-offscreen.c
@@ -50,8 +50,6 @@ piglit_display(void)
static const GLfloat window_color[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLboolean pass = GL_TRUE;
 
-   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
-
/* Clear to white */
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
@@ -81,4 +79,5 @@ piglit_display(void)
 void
 piglit_init(int argc, char**argv)
 {
+   piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff 

[Piglit] [PATCH 2/5] gl-1.0: Remove @file names.

2016-09-01 Thread Matt Turner
Some were wrong, and Pekka noted that we can simply leave them out and
Doxygen will do the right thing.
---
 tests/spec/gl-1.0/scissor-bitmap.c| 2 +-
 tests/spec/gl-1.0/scissor-clear.c | 2 +-
 tests/spec/gl-1.0/scissor-copypixels.c| 2 +-
 tests/spec/gl-1.0/scissor-depth-clear.c   | 2 +-
 tests/spec/gl-1.0/scissor-many.c  | 2 +-
 tests/spec/gl-1.0/scissor-offscreen.c | 2 +-
 tests/spec/gl-1.0/scissor-stencil-clear.c | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/tests/spec/gl-1.0/scissor-bitmap.c 
b/tests/spec/gl-1.0/scissor-bitmap.c
index 0a8e756..001072f 100644
--- a/tests/spec/gl-1.0/scissor-bitmap.c
+++ b/tests/spec/gl-1.0/scissor-bitmap.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file scissor-bitmap.c
+/** @file
  *
  * Tests that clipping of glBitmap to the backbuffer works correctly, whether
  * it's to window boundaries or glScissor.
diff --git a/tests/spec/gl-1.0/scissor-clear.c 
b/tests/spec/gl-1.0/scissor-clear.c
index 5ec0495..2872581 100644
--- a/tests/spec/gl-1.0/scissor-clear.c
+++ b/tests/spec/gl-1.0/scissor-clear.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file scissor-clear.c
+/** @file
  *
  * Tests that glScissor properly affects glClear(GL_COLOR_BUFFER_BIT)().
  */
diff --git a/tests/spec/gl-1.0/scissor-copypixels.c 
b/tests/spec/gl-1.0/scissor-copypixels.c
index 1f43f42..568ac81 100644
--- a/tests/spec/gl-1.0/scissor-copypixels.c
+++ b/tests/spec/gl-1.0/scissor-copypixels.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file scissor-copypixels.c
+/** @file
  *
  * Tests that glScissor properly affects glCopyPixels().
  */
diff --git a/tests/spec/gl-1.0/scissor-depth-clear.c 
b/tests/spec/gl-1.0/scissor-depth-clear.c
index 9832270..ac1de02 100644
--- a/tests/spec/gl-1.0/scissor-depth-clear.c
+++ b/tests/spec/gl-1.0/scissor-depth-clear.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file scissor-copypixels.c
+/** @file
  *
  * Tests that glScissor properly affects glClear(GL_DEPTH_BUFFER_BIT).
  */
diff --git a/tests/spec/gl-1.0/scissor-many.c b/tests/spec/gl-1.0/scissor-many.c
index 17eb232..d581416 100644
--- a/tests/spec/gl-1.0/scissor-many.c
+++ b/tests/spec/gl-1.0/scissor-many.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file many-scissors.c
+/** @file
  *
  * Tests drawing to each individual pixel in the drawable using glScissor.
  *
diff --git a/tests/spec/gl-1.0/scissor-offscreen.c 
b/tests/spec/gl-1.0/scissor-offscreen.c
index c9b953b..96abf59 100644
--- a/tests/spec/gl-1.0/scissor-offscreen.c
+++ b/tests/spec/gl-1.0/scissor-offscreen.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file scissor-offscreen.c
+/** @file
  *
  * Test case for setting a scissor that is entirely offscreen. This
  * should clip everything but under current Mesa master with i965 it
diff --git a/tests/spec/gl-1.0/scissor-stencil-clear.c 
b/tests/spec/gl-1.0/scissor-stencil-clear.c
index fb12309..2ad0fbf 100644
--- a/tests/spec/gl-1.0/scissor-stencil-clear.c
+++ b/tests/spec/gl-1.0/scissor-stencil-clear.c
@@ -25,7 +25,7 @@
  *
  */
 
-/** @file scissor-stencil-clear.c
+/** @file
  *
  * Tests that glScissor properly affects glClear of the stencil buffer.
  */
-- 
2.7.3

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


[Piglit] [PATCH 1/5] gl-1.0: Move scissor tests here.

2016-09-01 Thread Matt Turner
---
 tests/all.py   | 16 
 tests/general/CMakeLists.gl.txt|  8 
 tests/spec/gl-1.0/CMakeLists.gl.txt|  8 
 tests/{general => spec/gl-1.0}/scissor-bitmap.c|  0
 tests/{general => spec/gl-1.0}/scissor-clear.c |  0
 tests/{general => spec/gl-1.0}/scissor-copypixels.c|  0
 tests/{general => spec/gl-1.0}/scissor-depth-clear.c   |  0
 tests/{general => spec/gl-1.0}/scissor-many.c  |  0
 tests/{general => spec/gl-1.0}/scissor-offscreen.c |  0
 tests/{general => spec/gl-1.0}/scissor-polygon.c   |  0
 tests/{general => spec/gl-1.0}/scissor-stencil-clear.c |  0
 11 files changed, 16 insertions(+), 16 deletions(-)
 rename tests/{general => spec/gl-1.0}/scissor-bitmap.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-clear.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-copypixels.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-depth-clear.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-many.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-offscreen.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-polygon.c (100%)
 rename tests/{general => spec/gl-1.0}/scissor-stencil-clear.c (100%)

diff --git a/tests/all.py b/tests/all.py
index e110f59..276f5a8 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -859,14 +859,6 @@ with profile.group_manager(
 g(['readpix-z'])
 g(['roundmode-getintegerv'], run_concurrent=False)
 g(['roundmode-pixelstore'], run_concurrent=False)
-g(['scissor-bitmap'], run_concurrent=False)
-g(['scissor-clear'], run_concurrent=False)
-g(['scissor-copypixels'], run_concurrent=False)
-g(['scissor-depth-clear'], run_concurrent=False)
-g(['scissor-many'], run_concurrent=False)
-g(['scissor-offscreen'], run_concurrent=False)
-g(['scissor-polygon'])
-g(['scissor-stencil-clear'], run_concurrent=False)
 g(['select', 'gl11'], 'GL_SELECT - no test function', run_concurrent=False)
 g(['select', 'depth'], 'GL_SELECT - depth-test enabled',
   run_concurrent=False)
@@ -971,6 +963,14 @@ with profile.group_manager(
 g(['gl-1.0-logicop'])
 g(['gl-1.0-no-op-paths'])
 g(['gl-1.0-simple-readbuffer'])
+g(['gl-1.0-scissor-bitmap'], run_concurrent=False)
+g(['gl-1.0-scissor-clear'], run_concurrent=False)
+g(['gl-1.0-scissor-copypixels'], run_concurrent=False)
+g(['gl-1.0-scissor-depth-clear'], run_concurrent=False)
+g(['gl-1.0-scissor-many'], run_concurrent=False)
+g(['gl-1.0-scissor-offscreen'], run_concurrent=False)
+g(['gl-1.0-scissor-polygon'])
+g(['gl-1.0-scissor-stencil-clear'], run_concurrent=False)
 
 with profile.group_manager(
 PiglitGLTest,
diff --git a/tests/general/CMakeLists.gl.txt b/tests/general/CMakeLists.gl.txt
index 3a46fb0..ceec9f0 100644
--- a/tests/general/CMakeLists.gl.txt
+++ b/tests/general/CMakeLists.gl.txt
@@ -99,14 +99,6 @@ piglit_add_executable (read-front read-front.c)
 piglit_add_executable (readpix-z readpix-z.c)
 piglit_add_executable (roundmode-getintegerv roundmode-getintegerv.c)
 piglit_add_executable (roundmode-pixelstore roundmode-pixelstore.c)
-piglit_add_executable (scissor-bitmap scissor-bitmap.c)
-piglit_add_executable (scissor-clear scissor-clear.c)
-piglit_add_executable (scissor-copypixels scissor-copypixels.c)
-piglit_add_executable (scissor-depth-clear scissor-depth-clear.c)
-piglit_add_executable (scissor-many scissor-many.c)
-piglit_add_executable (scissor-offscreen scissor-offscreen.c)
-piglit_add_executable (scissor-polygon scissor-polygon.c)
-piglit_add_executable (scissor-stencil-clear scissor-stencil-clear.c)
 piglit_add_executable (select select.c)
 piglit_add_executable (stencil-drawpixels stencil-drawpixels.c)
 piglit_add_executable (stencil-twoside stencil-twoside.c)
diff --git a/tests/spec/gl-1.0/CMakeLists.gl.txt 
b/tests/spec/gl-1.0/CMakeLists.gl.txt
index 219b9b1..e79f0cb 100644
--- a/tests/spec/gl-1.0/CMakeLists.gl.txt
+++ b/tests/spec/gl-1.0/CMakeLists.gl.txt
@@ -29,6 +29,14 @@ piglit_add_executable (gl-1.0-rastercolor rastercolor.c)
 piglit_add_executable (gl-1.0-readpixsanity readpix.c)
 piglit_add_executable (gl-1.0-readpixels-oob readpixels-oob.c)
 piglit_add_executable (gl-1.0-rendermode-feedback rendermode-feedback.c)
+piglit_add_executable (gl-1.0-scissor-bitmap scissor-bitmap.c)
+piglit_add_executable (gl-1.0-scissor-clear scissor-clear.c)
+piglit_add_executable (gl-1.0-scissor-copypixels scissor-copypixels.c)
+piglit_add_executable (gl-1.0-scissor-depth-clear scissor-depth-clear.c)
+piglit_add_executable (gl-1.0-scissor-many scissor-many.c)
+piglit_add_executable (gl-1.0-scissor-offscreen scissor-offscreen.c)
+piglit_add_executable (gl-1.0-scissor-polygon scissor-polygon.c)
+piglit_add_executable (gl-1.0-scissor-stencil-clear scissor-stencil-clear.c)
 piglit_add_executable (gl-1.0-simple-readbuffer simple-readbuffer.c)
 piglit_add_executable 

[Piglit] [PATCH 4/5] gl-1.0: Run scissor tests concurrently.

2016-09-01 Thread Matt Turner
---
 tests/all.py | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tests/all.py b/tests/all.py
index 276f5a8..a57256f 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -963,14 +963,14 @@ with profile.group_manager(
 g(['gl-1.0-logicop'])
 g(['gl-1.0-no-op-paths'])
 g(['gl-1.0-simple-readbuffer'])
-g(['gl-1.0-scissor-bitmap'], run_concurrent=False)
-g(['gl-1.0-scissor-clear'], run_concurrent=False)
-g(['gl-1.0-scissor-copypixels'], run_concurrent=False)
-g(['gl-1.0-scissor-depth-clear'], run_concurrent=False)
-g(['gl-1.0-scissor-many'], run_concurrent=False)
-g(['gl-1.0-scissor-offscreen'], run_concurrent=False)
+g(['gl-1.0-scissor-bitmap'])
+g(['gl-1.0-scissor-clear'])
+g(['gl-1.0-scissor-copypixels'])
+g(['gl-1.0-scissor-depth-clear'])
+g(['gl-1.0-scissor-many'])
+g(['gl-1.0-scissor-offscreen'])
 g(['gl-1.0-scissor-polygon'])
-g(['gl-1.0-scissor-stencil-clear'], run_concurrent=False)
+g(['gl-1.0-scissor-stencil-clear'])
 
 with profile.group_manager(
 PiglitGLTest,
-- 
2.7.3

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


Re: [Piglit] [PATCH 1/2] general: Correct some @file names.

2016-09-01 Thread Matt Turner
On Thu, Sep 1, 2016 at 12:01 AM, Pekka Paalanen  wrote:
> On Wed, 31 Aug 2016 13:05:31 -0700
> Matt Turner  wrote:
>
>> ---
>>  tests/general/scissor-depth-clear.c | 2 +-
>>  tests/general/scissor-many.c| 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/general/scissor-depth-clear.c 
>> b/tests/general/scissor-depth-clear.c
>> index 9832270..b07e2e8 100644
>> --- a/tests/general/scissor-depth-clear.c
>> +++ b/tests/general/scissor-depth-clear.c
>> @@ -25,7 +25,7 @@
>>   *
>>   */
>>
>> -/** @file scissor-copypixels.c
>> +/** @file scissor-depth-clear.c
>>   *
>>   * Tests that glScissor properly affects glClear(GL_DEPTH_BUFFER_BIT).
>>   */
>> diff --git a/tests/general/scissor-many.c b/tests/general/scissor-many.c
>> index 17eb232..9892b6f 100644
>> --- a/tests/general/scissor-many.c
>> +++ b/tests/general/scissor-many.c
>> @@ -25,7 +25,7 @@
>>   *
>>   */
>>
>> -/** @file many-scissors.c
>> +/** @file scissors-many.c
>>   *
>>   * Tests drawing to each individual pixel in the drawable using glScissor.
>>   *
>
> Hi,
>
> why not simply remove the file name from the @file command?
>
> "If the file name is omitted (i.e. the line after \file is left blank)
> then the documentation block that contains the \file command will
> belong to the file it is located in."

Thanks. I wasn't aware of that. I'll send a new patch.
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] summary/csv: Fix elapsed time output

2016-09-01 Thread Dylan Baker
Reviewed-by: Dylan Baker 

Quoting Adam Jackson (2016-09-01 07:26:45)
> "" isn't an
> especially useful thing to print in the output.
> 
> Signed-off-by: Adam Jackson 
> ---
>  framework/programs/summary.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/framework/programs/summary.py b/framework/programs/summary.py
> index c297a7b..e400d9a 100644
> --- a/framework/programs/summary.py
> +++ b/framework/programs/summary.py
> @@ -190,7 +190,7 @@ def csv(input_):
>  
>  def write_results(output):
>  for name, result in six.iteritems(testrun.tests):
> -output.write("{},{},{},{}\n".format(name, result.time,
> +output.write("{},{},{},{}\n".format(name, result.time.total,
>  result.returncode,
>  result.result))
>  
> -- 
> 2.7.4
> 
> ___
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit


signature.asc
Description: signature
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 1/2] egl: Add sanity test for EGL_EXT_device_query (v3)

2016-09-01 Thread Emil Velikov
On 1 September 2016 at 15:44, Adam Jackson  wrote:
> On Thu, 2016-09-01 at 15:36 +0100, Emil Velikov wrote:
>
>> Did you have the chance to respin the EGL device patches for mesa or
>> shall I ?
>
> I have a work-in-progress branch to port it to the drmDevice API here:
>
> https://cgit.freedesktop.org/~ajax/mesa/log/?h=egl-ext-device
>
> I don't remember how well that worked as of last time I touched it, but
> I'll send it on to mesa-dev once I think it's reasonable, should be in
> the next week or so.
>
Ack, thanks.

Hope you don't mind if I give it some polish before then :-)

-Emil
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 1/2] egl: Add sanity test for EGL_EXT_device_query (v3)

2016-09-01 Thread Adam Jackson
On Thu, 2016-09-01 at 15:36 +0100, Emil Velikov wrote:

> Did you have the chance to respin the EGL device patches for mesa or
> shall I ?

I have a work-in-progress branch to port it to the drmDevice API here:

https://cgit.freedesktop.org/~ajax/mesa/log/?h=egl-ext-device

I don't remember how well that worked as of last time I touched it, but
I'll send it on to mesa-dev once I think it's reasonable, should be in
the next week or so.

- ajax
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 1/2] egl: Add sanity test for EGL_EXT_device_query (v3)

2016-09-01 Thread Emil Velikov
On 31 August 2016 at 19:39, Adam Jackson  wrote:
> v2:
> - Cover more error paths, also look up QueryDeviceAttrib (Eric Anholt)
> - Fetch function pointers before EGL initialized (Mathias Fröhlich)
>
> v3:
> - Use piglit_check_egl_error and PFN* typedefs, fix NOT_INITIALIZED test
>   (Emil Velikov)
>
In case this or 2/2 is outstanding:
Reviewed-by: Emil Velikov 

Did you have the chance to respin the EGL device patches for mesa or shall I ?

Thanks
Emil
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] summary/csv: Fix elapsed time output

2016-09-01 Thread Adam Jackson
"" isn't an
especially useful thing to print in the output.

Signed-off-by: Adam Jackson 
---
 framework/programs/summary.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/framework/programs/summary.py b/framework/programs/summary.py
index c297a7b..e400d9a 100644
--- a/framework/programs/summary.py
+++ b/framework/programs/summary.py
@@ -190,7 +190,7 @@ def csv(input_):
 
 def write_results(output):
 for name, result in six.iteritems(testrun.tests):
-output.write("{},{},{},{}\n".format(name, result.time,
+output.write("{},{},{},{}\n".format(name, result.time.total,
 result.returncode,
 result.result))
 
-- 
2.7.4

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


Re: [Piglit] [PATCH 2/2] egl: Add sanity test for EGL_EXT_device_enumeration (v3)

2016-09-01 Thread Adam Jackson
On Thu, 2016-09-01 at 07:21 +0200, Mathias Fröhlich wrote:

> I do share the concern with the stack corruption with Eric.
> Anyhow, its very unlikely, so both get my:
>  
> Reviewed-by: Mathias Fröhlich 

Fixed this up to clamp the number of devices (and warn if so), and
merged. Thanks!

- ajax
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH 2/2] xts: Remove large_blend_src.

2016-09-01 Thread Adam Jackson
On Wed, 2016-08-31 at 16:40 -0700, Eric Anholt wrote:
> This is a test that I wrote a long time ago but never pushed.  Remove
> it until I can fix it up and land it.

Series is:

Reviewed-by: Adam Jackson 

- ajax
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH v2] cl: Initialize errNo on invalid image type.

2016-09-01 Thread Vinson Lee
Fixes sometimes-uninitialized warning.

piglit-util-cl.c:1052:13: warning: variable 'errNo' is used uninitialized 
whenever 'if' condition is false [-Wsometimes-uninitialized]
} else if (desc->image_type == CL_MEM_OBJECT_IMAGE3D) {
   ^
piglit-util-cl.c:1062:28: note: uninitialized use occurs here
if(!piglit_cl_check_error(errNo, CL_SUCCESS)) {
  ^
piglit-util-cl.c:1052:9: note: remove the 'if' if its condition is always true
} else if (desc->image_type == CL_MEM_OBJECT_IMAGE3D) {
   ^~~
piglit-util-cl.c:1040:14: note: initialize the variable 'errNo' to silence this 
warning
cl_int errNo;
^
 = 0

Fixes: 910cd6c222930 ("cl: add image and sampler utility functions")
Signed-off-by: Vinson Lee 
---
 tests/util/piglit-util-cl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/util/piglit-util-cl.c b/tests/util/piglit-util-cl.c
index dba32636f8ad..0211c1ff63b6 100644
--- a/tests/util/piglit-util-cl.c
+++ b/tests/util/piglit-util-cl.c
@@ -1095,6 +1095,7 @@ piglit_cl_create_image(piglit_cl_context context, 
cl_mem_flags flags,
desc->image_depth, 0, 0,
NULL, );
} else {
+   errNo = CL_INVALID_OPERATION;
fprintf(stderr,
"Invalid image mem object type: %s\n",
piglit_cl_get_enum_name(desc->image_type));
-- 
2.9.2

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


Re: [Piglit] [PATCH 1/2] general: Correct some @file names.

2016-09-01 Thread Pekka Paalanen
On Wed, 31 Aug 2016 13:05:31 -0700
Matt Turner  wrote:

> ---
>  tests/general/scissor-depth-clear.c | 2 +-
>  tests/general/scissor-many.c| 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/general/scissor-depth-clear.c 
> b/tests/general/scissor-depth-clear.c
> index 9832270..b07e2e8 100644
> --- a/tests/general/scissor-depth-clear.c
> +++ b/tests/general/scissor-depth-clear.c
> @@ -25,7 +25,7 @@
>   *
>   */
>  
> -/** @file scissor-copypixels.c
> +/** @file scissor-depth-clear.c
>   *
>   * Tests that glScissor properly affects glClear(GL_DEPTH_BUFFER_BIT).
>   */
> diff --git a/tests/general/scissor-many.c b/tests/general/scissor-many.c
> index 17eb232..9892b6f 100644
> --- a/tests/general/scissor-many.c
> +++ b/tests/general/scissor-many.c
> @@ -25,7 +25,7 @@
>   *
>   */
>  
> -/** @file many-scissors.c
> +/** @file scissors-many.c
>   *
>   * Tests drawing to each individual pixel in the drawable using glScissor.
>   *

Hi,

why not simply remove the file name from the @file command?

"If the file name is omitted (i.e. the line after \file is left blank)
then the documentation block that contains the \file command will
belong to the file it is located in."

- http://www.stack.nl/~dimitri/doxygen/manual/commands.html#cmdfile


Thanks,
pq


pgpGrgDyQxbv7.pgp
Description: OpenPGP digital signature
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit