New d3dcompiler_47.dll needed |
|||
Issue descriptionThe 17763 version of d3dcompiler_47.dll contains some new bug fixes and other things that Angle wants. But, it uses the UCRT (universal CRT) which means that by default it does not run on all Windows 7 machines. This caused some problems when rolling the toolchain (see crbug.com/919163 ) so eventually a new toolchain/SDK was rolled without upgrading this DLL. There are three possibilities for how to move forwards: 1) Ship the new DLL and let the (unknown but small) number of Windows 7 users who can't load the DLL fall back to SwiftShader. This is simplest but has unclear implications for an unknown number of users. 2) Ship the new DLL and the old one and fall back to the old DLL if the new one fails to load. This is fairly simple but it strands some unknown number of users on the old (buggy) version and it means distributing ~3.6 MB of excess binary data. 3) Ship the new DLL and the UCRT files that it needs. This is the most complex solution (both isolates and the installer must separately have the extra 42 files included) and it will cause some amount of downstream pain (CEF, Opera, and others must also ship these DLLs) and it adds ~2 MB of excess binary data for the UCRT but it is the "correct" fix. I'm leaning toward #3, despite the disruption. Thoughts?
,
Jan 10
It's not currently possible to make blacklist decisions based on the absence of DLLs. Would the path to the DLL be constant across affected Windows systems? I would prefer (3). It is actually less of an impact on the binary size compared to (2), and the blacklisting approach sounds like it could accidentally trigger for users we didn't intend, if we're not really careful.
,
Jan 10
Yeah, (3) gets my vote too.
,
Jan 10
,
Jan 10
I think we should get numbers and check how many users this affects. If it's just few, then giving those software rendering is probably better than sending needless 2 MB to many millions.
,
Jan 10
We're currently not sure how to find out how many people this affects. The bots which it initially failed on seemed to have some version of the UCRT installed, but perhaps not the right one? The most reliable way to find out how many people it affects would be to ship both DLLs to customers, but that sends even more MB. I can see if Microsoft has any ideas on how many people this is likely to affect. |
|||
►
Sign in to add a comment |
|||
Comment 1 by jmadill@google.com
, Jan 10