New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 819542 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

VDA unit test: better no-render support

Project Member Reported by acourbot@chromium.org, Mar 7 2018

Issue description

VDAtest's ability to render on screen has been recently disabled, but it is still dependent of Ozone initializing properly and on a GPU being present to be usable. This has several drawbacks:

* Failures in Ozone or GPU drivers can make the unit test fail, even though there is no regression on the VDA side,
* This makes it challenging to use VDAtest for early platform bringup, as display and GPU may not be available to the level that is required.

This bug is to track the progress of making VDAtest able to run fully without display and GPU support. In that case, some tests that require GPU support (notably those using thumbnails) are to be skipped. Ideally these tests should be run from their own autotest script with render explicitly enabled, while the other tests would run without render to minimize false positives.
 
Cc: wuchengli@chromium.org posciak@chromium.org
The following CLs are ready to be merged:

https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/954762
https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/952036
https://chromium-review.googlesource.com/c/chromium/src/+/954770
https://chromium-review.googlesource.com/c/chromium/src/+/954769
https://chromium-review.googlesource.com/c/chromium/src/+/954768
https://chromium-review.googlesource.com/c/chromium/src/+/954767

They make the --disable_rendering option actually disable all rendering. This will work on both V4L2 decoders, but not on VAAPI yet. I am looking at this issue.

Meanwhile, since --disable_rendering is not used in autotest, these patches can go in. I plan to add the flag to all tests but thumbnails once the VAAPI issue is fixed. This should reduce our false positives and hopefully save people's time. :)
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/42d62ab62d74ed6f1d33f264ed98e42f8c7071a4

commit 42d62ab62d74ed6f1d33f264ed98e42f8c7071a4
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Fri Mar 09 10:35:11 2018

video_*Perf: remove rendering_warm_up option

The rendering_warm_up option has been a no-op in VDAtest for 6 months
now. Stop using it in autotest so we can remove from VDAtest completely.

BUG=819542
TEST=Verified modified tests were still passing

Change-Id: I30dfe846d0543785130c2399e219a2c52038a8bf
Reviewed-on: https://chromium-review.googlesource.com/952036
Commit-Ready: Alexandre Courbot <acourbot@chromium.org>
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>

[modify] https://crrev.com/42d62ab62d74ed6f1d33f264ed98e42f8c7071a4/client/site_tests/video_VDAPerf/video_VDAPerf.py
[modify] https://crrev.com/42d62ab62d74ed6f1d33f264ed98e42f8c7071a4/client/site_tests/video_HangoutHardwarePerf/video_HangoutHardwarePerf.py

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/282651d212f41ae37f46d24e1c78acffba735ef3

commit 282651d212f41ae37f46d24e1c78acffba735ef3
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Fri Mar 09 10:35:12 2018

video_VDAPerf: replace disable_rendering flag with rendering_fps=0

In the VDA unit test, the disable_rendering flag is marked as
deprecated and is a shortcut to setting rendering_fps=0. Replace it so
we can recycle disable_rendering.

BUG=819542
TEST=Verified that flags are strictly equivalent and tests are running

Change-Id: I64e7be819ac3bd7334e0adfdb9d31ba16347fda7
Reviewed-on: https://chromium-review.googlesource.com/954762
Commit-Ready: Alexandre Courbot <acourbot@chromium.org>
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>

[modify] https://crrev.com/282651d212f41ae37f46d24e1c78acffba735ef3/client/site_tests/video_VDAPerf/video_VDAPerf.py

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d5560b6eb28d7d8958f231b6ac897cdb45ee6a24

commit d5560b6eb28d7d8958f231b6ac897cdb45ee6a24
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Wed Mar 14 01:58:45 2018

media/gpu/v4l2: make accelerators work without GL

VideoDecodeAccelerators are supposed to work without GL support,
provided the make_context_current_cb_ callback is null. However the
Initialize() method of V4L2 accelerators checked for a valid EGL display
unconditionally. Move this check under the condition that
make_context_current_cb_ is not null, so that the V4L2 accelerators can
be used without an EGL display.

BUG=819542
TEST=Made sure VDA tests were still passing on eve, hana and kevin.

Change-Id: I632e85bad6871910c8a9114c6c34338c37262c08
Reviewed-on: https://chromium-review.googlesource.com/954767
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542982}
[modify] https://crrev.com/d5560b6eb28d7d8958f231b6ac897cdb45ee6a24/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc
[modify] https://crrev.com/d5560b6eb28d7d8958f231b6ac897cdb45ee6a24/media/gpu/v4l2/v4l2_video_decode_accelerator.cc

Cc: deanliao@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4fbb5c6fb0c824b16e5b3f9f78bb9b2474a79071

commit 4fbb5c6fb0c824b16e5b3f9f78bb9b2474a79071
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Mon Mar 19 04:48:14 2018

media/gpu/vdatest: remove --rendering_warm_up option

This option was a no-op, and is being removed from autotests.

BUG=819542
TEST=Verified that autotests were still passing
CQ-DEPEND=CL:952036

Change-Id: I072a56faf78a3c453e9195e7a4f8cf5599872796
Reviewed-on: https://chromium-review.googlesource.com/954768
Reviewed-by: Wu-Cheng Li <wuchengli@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543971}
[modify] https://crrev.com/4fbb5c6fb0c824b16e5b3f9f78bb9b2474a79071/media/gpu/video_decode_accelerator_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Mar 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b38a1f60ad1c184bdd5b61b85bd40b6aefc2a73

commit 7b38a1f60ad1c184bdd5b61b85bd40b6aefc2a73
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Mon Mar 19 06:14:28 2018

media/gpu/vdatest: manage zero-fps case in RenderingHelper

Make RenderingHelper::QueueVideoFrame() behave properly in the case that
the requested fps is 0. This allows us to drop a GLRenderingVDAClient
parameter and simplify the logic of the vdatest a bit.

BUG=819542
TEST=Verified that vdatest was still passing on eve, hana and kevin

Change-Id: I500a693d9834cc3791ff5213bfd8e7cc0cc92bbe
Reviewed-on: https://chromium-review.googlesource.com/954769
Reviewed-by: Wu-Cheng Li <wuchengli@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543979}
[modify] https://crrev.com/7b38a1f60ad1c184bdd5b61b85bd40b6aefc2a73/media/gpu/rendering_helper.cc
[modify] https://crrev.com/7b38a1f60ad1c184bdd5b61b85bd40b6aefc2a73/media/gpu/rendering_helper.h
[modify] https://crrev.com/7b38a1f60ad1c184bdd5b61b85bd40b6aefc2a73/media/gpu/video_decode_accelerator_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64390b3c6399289c04f594d1a53a5f6ed1e7af9b

commit 64390b3c6399289c04f594d1a53a5f6ed1e7af9b
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Thu Mar 22 04:50:22 2018

vaapi: support allocating buffers without GL

VDAs can be created without any GL context. In this case,
VaapiPictureFactory fails to return pictures since it cannot rely on the
GL implementation to decide an allocation method. Turn to Ozone in such
a case, since this is the most sensible candidate and we plan to use
this feature in unit tests mainly.

BUG=819542
TEST=Verified that vdatest was still passing on eve, hana and kevin

Change-Id: I08484d1619f32a6bf7613f3cb4663314a1f67c72
Reviewed-on: https://chromium-review.googlesource.com/961779
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544979}
[modify] https://crrev.com/64390b3c6399289c04f594d1a53a5f6ed1e7af9b/media/gpu/vaapi/vaapi_picture_factory.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3557c1a2021cced25249b1ca20a47238baeea5c0

commit 3557c1a2021cced25249b1ca20a47238baeea5c0
Author: Alexandre Courbot <acourbot@chromium.org>
Date: Tue Mar 27 05:24:22 2018

media/gpu/vdatest: allow operation without GL

Make the --disable_rendering behave as it should, that is, disable
rendering altogether. With this patch, vdatest can run without any GL
support.

This has the advantage of reducing the subset of code tested, and to
remove false positives due to graphics regressions. It is also useful
during platform bringup where graphics are not always available and
working.

The thumbnails tests do require a renderer to create the thumbnails ;
therefore they are disabled when this option is set.

BUG=819542
TEST=Verified that vdatest was passing on kevin and hana, with both
rendering enabled and disabled and at various fps.

Change-Id: I119165e59cff24913918559d79a5c457e973cea4
Reviewed-on: https://chromium-review.googlesource.com/954770
Reviewed-by: Ricky Liang <jcliang@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546023}
[modify] https://crrev.com/3557c1a2021cced25249b1ca20a47238baeea5c0/media/gpu/rendering_helper.cc
[modify] https://crrev.com/3557c1a2021cced25249b1ca20a47238baeea5c0/media/gpu/rendering_helper.h
[modify] https://crrev.com/3557c1a2021cced25249b1ca20a47238baeea5c0/media/gpu/video_decode_accelerator_unittest.cc

Sign in to add a comment