Closed Bug 1385314 Opened 7 years ago Closed 6 years ago

Video frames aren't displayed if WebRender is enabled with nvidia GPUs on linux

Categories

(Core :: Graphics: WebRender, defect, P2)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1401455
Tracking Status
firefox56 --- unaffected
firefox57 --- unaffected

People

(Reporter: nical, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [wr-reserve] [gfx-noted])

Attachments

(1 file)

Trying to watch a youtube video with webrender enabled on linux (software decoding with YCbCr images and BufferTextureClient/Host), and video frames don't show except while I am scrolling. As soon as I stop scrolling the video disappears.
That sounds like maybe we're not calling GenerateFrame enough?
Hmm, I did not see the problem on youtube on linux with latest source. Can you provide the youtube video link? Did you change the webrender related prefs?
Flags: needinfo?(nical.bugzilla)
Not sure what's different between our setups, I tried with and without the webrendest pref as well as "layout.smaller-painted-layers" and I reproduce the issue every time by just going to youtube and watching any video. I just pulled and built a fresh revision of mozilla-central and the issue still reproduces as soon as webrender is enabled.
Flags: needinfo?(nical.bugzilla)
I checked on my several window pcs and linux pcs with latest sources, but I did not see the problem :(

I also tested with nightly with webrender enabled on linux pc, but I did not see the the problem.
:nica, can you test again with another linux pc? And also with nightly with webrender enabled?
Flags: needinfo?(nical.bugzilla)
I just tested a clean builder on another computer and I have the same issue (both with release and debug builds).
Flags: needinfo?(nical.bugzilla)
(In reply to Nicolas Silva [:nical] from comment #6)
> I just tested a clean builder on another computer and I have the same issue
> (both with release and debug builds).

Hmm, it is wired:( I never saw the symptom. Can you also test with nightly build? Can you provide the actual url of the video?
Flags: needinfo?(nical.bugzilla)
:nical, can you also test with "LIBGL_ALWAYS_SOFTWARE=1 ./mach run"?
Whiteboard: [gfx-noted]
> :nical, can you also test with "LIBGL_ALWAYS_SOFTWARE=1 ./mach run"?

I tried that too, and also tried with a nightly build form the official channels. Same thing, 100% repro on every youtube videos.

It appears to be specific to a combination of YUV + external images or async pipelines + external images.

I changed the condition here: https://searchfox.org/mozilla-central/rev/c329d562fb6c6218bdb79290faaf015467ef89e2/gfx/layers/wr/AsyncImagePipelineManager.cpp#165 so that we always take the else branch and use a regular rgb image for each video frame (but still using async pipelines), and the video plays correctly.
Flags: needinfo?(nical.bugzilla)
Is it still reproducible? Could you try with the clear pref setting?
I would like to check this issue.
Flags: needinfo?(nical.bugzilla)
I test for today's nightly build with the linux pc, I could see the youtube videos(including the software-decoding webm format) normally. I can't reproduce the issue.
Could you show your test url(combine of YUV + external images or async pipelines + external images)?
Flags: needinfo?(nical.bugzilla)
15:43	nical	Jerry_IRCCloud: I just tried again on a freh build and I still have the issue
15:43	nical	on pretty much every youtube video I can find
15:44	nical	like www.youtube.com/watch?v=VQ_KrRq4UiA
15:44	nical	Jerry_IRCCloud: same thing with the video on this page: www.webmfiles.org/demo-files

I try the both links again with today's linux build, the video still looks good.

commit 809dd0e81b5c4e02a25ee098bbc4e4be4a9c3719

Hi nical,
could you please attach your about:support here?
Flags: needinfo?(nical.bugzilla)
Attached file about:support
There we go. This is the about:support for a fresh mozilla-central debug build.
Flags: needinfo?(nical.bugzilla)
Priority: P3 → P2
Whiteboard: [gfx-noted] → [wr-mvp] [gfx-noted]
Interestingly, the bug doesn't reproduce in apitrace replays (it does while recording, but when replay happens video frames are show properly). Could be some state coming from something not recorded by apitrace (some x11 stuff in the widget?) affecting the gl commands, maybe? In any case that rules out one of my earlier theories that the video frame data wasn't getting through to the renderer or that yuv primitives weren't generated.

I tried with yet another linux computer and the issue still happens. The common denominator on all of these machines seems to be nvidia propriterary drivers (different nvidia gpus).
I tried on another computer with an intel GPU instead of nvidia and it works fine.
The bug still reproduces on both my nvidia computers.
Summary: Video frames aren't displayed if WebRender is enabled → Video frames aren't displayed if WebRender is enabled with nvidia GPUs on linux
Blocks: stage-wr-trains
No longer blocks: stage-wr-nightly
Priority: P2 → P3
Whiteboard: [wr-mvp] [gfx-noted] → [wr-reserve] [gfx-noted]
:nical, does the problem still happen? I wonder if the problem is addressed by Bug 1401455.
Flags: needinfo?(nical.bugzilla)
It's fixed \o/
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(nical.bugzilla)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: