[Piglit] [PATCH] all.py: add run_concurrent=False where needed

Arthur Huillet arthur.huillet at free.fr
Tue Jan 22 10:32:38 UTC 2019


Ping. Pixel ownership test makes it impossible for Piglit to blindly 
assume that it can read back all the pixels of its backbuffer, so tests 
that don't use an FBO can't be run concurrently unless it can be ensured 
that the windows do not overlap.
One reason this seems to only show up on NVIDIA driver is that we have a 
unified backbuffer under some circumstances.

Thanks
--
Arthur

On 14.11.2018 13:41, arthur.huillet at free.fr wrote:
> From: Arthur Huillet <ahuillet at nvidia.com>
> 
> Commit 57537d45b75218438716506594e16b91dade968f removed 
> run_concurrent=False
> from a bunch of tests, saying there was no reason for them to be marked 
> as
> such. This is wrong for at least two tests, which require a displayed 
> window
> (cannot render to an FBO).  As such, when run concurrently they are 
> liable to
> write over each other's pixels if the windows overlap, which can happen 
> on some
> setups.
> 
> This change fixes the problem by marking clear-accum and masked-clear 
> as
> run_concurrent=False. It is likely to be the correct thing to do for 
> all tests
> that require a displayed window for the same reason, but these two are 
> the only
> one that were so far identified by NVIDIA.
> ---
>  tests/all.py | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/all.py b/tests/all.py
> index 4cd911fab..e1b182f15 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -779,7 +779,7 @@ with profile.test_list.group_manager(
>      g(['gl-1.1-read-pixels-after-display-list'])
>      g(['gl-1.1-set-vertex-color-after-draw'])
>      g(['array-stride'])
> -    g(['clear-accum'])
> +    g(['clear-accum'], run_concurrent=False)
>      g(['clipflat'])
>      g(['copypixels-draw-sync'])
>      g(['copypixels-sync'])
> @@ -813,7 +813,7 @@ with profile.test_list.group_manager(
>      g(['lineloop', '-dlist'], 'lineloop-dlist')
>      g(['linestipple'], run_concurrent=False)
>      g(['longprim'])
> -    g(['masked-clear'])
> +    g(['masked-clear'], run_concurrent=False)
>      g(['point-line-no-cull'])
>      g(['polygon-mode'])
>      g(['polygon-mode-facing'])

-- 
A. Huillet


More information about the Piglit mailing list