Closed Bug 1433696 Opened 7 years ago Closed 7 years ago

Some videos display as black or green rectangles with webrender on. (ANGLE/Win7 ?)

Categories

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

x86_64
Windows 7
defect

Tracking

()

RESOLVED DUPLICATE of bug 1440849
Tracking Status
firefox-esr52 --- unaffected
firefox58 --- unaffected
firefox59 --- unaffected
firefox60 --- disabled

People

(Reporter: lola_j22, Assigned: sotaro)

References

(Blocks 1 open bug, )

Details

(Keywords: nightly-community)

Attachments

(4 files)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
Build ID: 20100101

Steps to reproduce:

Install reddit enhancement suite
Turn on gfx.webrender.all, restart browser
Visit a reddit page with many gifs, for example https://www.reddit.com/r/gifs/
Attempt to load all gifs inline using the 'Show images' button from reddit enhancement suite.


Actual results:

Most videos show as black or green rectangles. Clicking the links to visit a new page sometimes loads black rectangles.


Expected results:

The videos should display inline and on the image hosts pages.
Thanks!

"Show images (60)" will be the last tab in the header.
mozregression --launch 2018-01-27 --pref gfx.webrender.all:true startup.homepage_welcome_url:"https://addons.mozilla.org/en-US/firefox/addon/reddit-enhancement-suite/|https://www.reddit.com/r/gifs/"

I can't reproduce it on Debian Testing (KDE, Radeon RX480).
Component: Untriaged → Graphics: WebRender
OS: Unspecified → Windows 7
Product: Firefox → Core
Hardware: Unspecified → x86_64
Version: 59 Branch → Trunk
I forgot to add, Windows 7 x64, nVidia GTX 770, drivers are 390.65.
Slew, do you have access to Windows 10?  Same problem there?
Priority: -- → P1
Sorry I don't wish to install Windows 10 on this machine. Is it okay if I test it on another machine?

On an older machine with an older build of Windows 10 the bug doesn't happen, Geforce320M and Windows 10 build 1511
Could you make a screenshot of the problem and upload it here (Attach File)?
Do you use multiple windows or does this problem already happen if you start Nightly with one window and open Reddit then?
Attached image Screenshot 1.png (deleted) β€”
Attached image Screenshot 2.png (deleted) β€”
I use multiple windows but before I report any bug I make a new profile using the profile manager and follow the exact steps I put on the bug. So I guess this is one window and reddit. An interesting thing I discovered was that the inbuilt screenshot function displays the image just fine (Screen Shot 2018-01-29 at 19.07.14-fullpage.jpg).

On my display you can see on screenshot 1 that most images are green rectangles (sometimes black), in screenshot 2 not all images have that issue.
Just for curiosity: Would it help to set gfx.webrender.all to true and gfx.webrender.force-angle to false?
Yes that fixes this problem. However it makes the window decorations (which are already broken in bug 1416288) even more broken.
Could you also make a screenshot of that, please?
Attached image offtopic: gfx.webrender.force-angle;false (deleted) β€”
The min/max/close buttons are now black, as well as all the glass themed top being solid white.
Attachment #8946382 - Attachment description: Screenshot 3.png → offtopic: gfx.webrender.force-angle;false
Summary: Some videos display as black or green rectangles with webrender on. → Some videos display as black or green rectangles with webrender on. (ANGLE/Win7 ?)
When I tested the STR in comment 0 locally with 3 win10 PCs, but I could not reproduce the problem.
I tested the STR of comment 0 on my win7 PCs and I seemed to reproduce the problem.

When I turn on WebRender with "gfx.webrender.all", I saw the some videos were not rendered correctly. Instead some video were rendered as black or green rectangles.

When I turn on WebRender with "gfx.webrender.enabled", I saw that all videos and almost all images were rendered as black. The difference seemed to come from "gfx.webrender.blob-images". They prevent to use D3D Texture as data storage for images and fallbacked images.
From comment 15, it seems that somehow direct d3d texture binding seemed not work with ANGLE. One possible problem is driver's problem. When I disabled WebRender and opened "about:support", there were "NO_CONSTANT_BUFFER_OFFSETTING : Unsupported by driver", when "Direct3d 11 (Advanced Layers)" was used as compositor.

NO_CONSTANT_BUFFER_OFFSETTING check was added to MLGDevice by Bug 1379413. It handles the case that driver does not support constant buffer offsetting.
In Bug 1379413, when driver does not support constant buffer offsetting, MLGDeviceD3D11 disables ID3D11DeviceContext1::[V|P]SSetConstantBuffers1 usages.

But ANGLE uses ID3D11DeviceContext1::[V|P]SSetConstantBuffers1 in StateManager11::syncUniformBuffers()
 > https://dxr.mozilla.org/mozilla-central/source/gfx/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp#2888
 > https://dxr.mozilla.org/mozilla-central/source/gfx/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp#2941
But for now, we could just assume that a driver bug might cause the problem.
Assignee: nobody → sotaro.ikeda.g
My case was caused by regression of Bug 1415754. When RenderDXGITextureHostOGL and RenderDXGIYCbCrTextureHostOGL does not support ANGLE_stream_producer_d3d_texture_nv12(NV12 format), they does not render d3d texture. Bug 1415754 addressed the crash, but the way of fixing was not good :(
Depends on: 1434522
Slew, can you confirm if the problem is addressed with latest m-c?
Flags: needinfo?(lola_j22)
I'm not sure what m-c is but the problem is fixed if I reenable force-angle on the latest nightly, yes.
Flags: needinfo?(lola_j22)
Thanks! Sorry, I used m-c for nightly.
m-c is short hand notation of mozilla-central
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: