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

Arthur Huillet arthur.huillet at free.fr
Tue Jan 22 14:46:29 UTC 2019


If I remember correctly, these tests ignore -fbo when passed. At any 
rate, they render to a real window. If you have two of these windows at 
the same time because they are run concurrently, you run into the pixel 
ownership problem which is present everywhere and potentially extra 
painful on the NVIDIA driver.

On 22.01.2019 15:39, Ilia Mirkin wrote:
> run_concurrent=False implies that the test will be run with "-fbo".
> Looking at clear-accum.c, I don't see anything that will fail to work
> when run with an fbo. If piglit_probe_rect_rgb doesn't work with -fbo,
> then there are a LOT more tests that will have this problem.
> 
>   -ilia
> 
> On Tue, Jan 22, 2019 at 5:40 AM Arthur Huillet <arthur.huillet at free.fr> 
> wrote:
>> 
>> 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
>> _______________________________________________
>> Piglit mailing list
>> Piglit at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/piglit

-- 
A. Huillet


More information about the Piglit mailing list