Fold dom/media D3D-blacklisting into gfx driver blacklisting

NEW
Unassigned

Status

()

P3
normal
2 years ago
a year ago

People

(Reporter: gerald, Unassigned)

Tracking

50 Branch
All
Windows
Points:
---

Firefox Tracking Flags

(firefox50 affected)

Details

(Reporter)

Description

2 years ago
Bug 1268905 introduced code to blacklist D3D11 based on the presence of specific driver versions, when a DXVA manager is requested in dom/media.
Bug 1273691 improved it by controlling the blacklist through a pref.
Bug 1271525 extended it to also control D3D9.

Anthony pointed out recently that we already have code that can blacklist features of certain drivers:
GfxInfo::GetGfxDriverInfo() in widget/windows/GfxInfo.cpp

It would make sense to regroup them, probably by just migrating the dom/media D3D pref-based blacklists into GfxInfo, as it seems to support disabling D3D11 and/or D3D9 specifically.
(Reporter)

Comment 1

2 years ago
Matt, you probably know more about this (or please forward to someone else as appropriate).
- Do you think this all makes sense?
- Can you confirm that hot-patching the blacklist is possible?
- Is there a pref to force-enable D3Dx? (to allow easier debugging by us or driver devs)
Flags: needinfo?(matt.woodrow)
David is probably the best person to answer this at the moment.
Flags: needinfo?(matt.woodrow) → needinfo?(dvander)
Priority: -- → P2
Mass change P2 -> P3
Priority: P2 → P3
Yes, I think it makes sense to centralize blacklisting. There's a lot of machinery that can be re-used, especially if we integrated media into gfxConfig (which hooks up nicely to telemetry). In addition to the hardcoded list there's a downloadable blocklist, but I don't know how that one works. Milan knows more about it, I think.

No, there's no pref to force-enable D3D9x, but adding such a thing would be reasonable.
Flags: needinfo?(dvander)
(In reply to Gerald Squelart [:gerald] from comment #1)
> Matt, you probably know more about this (or please forward to someone else
> as appropriate).
> - Do you think this all makes sense?
> - Can you confirm that hot-patching the blacklist is possible?
> - Is there a pref to force-enable D3Dx? (to allow easier debugging by us or
> driver devs)

If by "hot-patching" you mean being able to add things to the blocklist without releasing a new version of Firefox, the answer is yes - we have a downloadable list (look for blocklist.xml in your profile directory.)

Force enabling acceleration on the graphics side is possible, with layers.acceleration.force-enabled preference, but not for DXVA.  The gfxConfig has a concept of "user forced value", so we can report those cases.
You need to log in before you can comment on or make changes to this bug.