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.
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)
David is probably the best person to answer this at the moment.
Flags: needinfo?(matt.woodrow) → needinfo?(dvander)
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.
(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.