This patch adds static asserts to prevent allowlist statuses to be
used with non-allowlist features, as well as prevent retired
features from being used. It also removes the name/ID split for
most features where they are the same.
Differential Revision: https://phabricator.services.mozilla.com/D296378
This is a large number of largely mechanical changes. When possible, the code
was called to directly call `.get()` instead, performing the assertions
manually. In many places PromiseFlatCString() calls were added to dynamically
copy the strings into null terminated buffers if the string was not null
terminated.
Differential Revision: https://phabricator.services.mozilla.com/D286158
Remote canvas only works with Direct2D (which has been removed) and has been superceded by Accelerated Canvas2D.
Thus, it is safe to remove remote canvas since it can no longer be enabled.
Differential Revision: https://phabricator.services.mozilla.com/D269928
Now that Direct2D is no longer supported, we can start removing the associated Feature
and queries of it.
This patch does the awkward work of removing Direct2D feature testing throughout Gecko.
Differential Revision: https://phabricator.services.mozilla.com/D269855
This should have no functional change, but does make it easier to reason
about what call paths depend on EnsureGPUReady by removing the
redundancy, and making the error codes it returns clearer/more obvious.
Differential Revision: https://phabricator.services.mozilla.com/D268277
This should have no functional change, but does make it easier to reason
about what call paths depend on EnsureGPUReady by removing the
redundancy, and making the error codes it returns clearer/more obvious.
Differential Revision: https://phabricator.services.mozilla.com/D268277
When we update gfxVars, if we create gfxVarsCollectUpdates on the stack,
we can consolidate those updates into a single notification and IPC
message per process. This will save on churn, particularly for the media
processes, which may want to monitor multiple gfxVars for changes
affecting hardware video decoding/encoding.
This also moves the CodecSupportInfo from a gfxVar into a member of
GfxInfoBase since that is the only place that needs access to it. This
avoids bouncing back a gfxVar update back to all of the child processes
after a codec support update from each of them.
Differential Revision: https://phabricator.services.mozilla.com/D259335
This reduces the complexity in gfxConfigManager by taking advantage of
the new blocklisting features added in bug 1969255. It also adds a
blocklist feature specifically for DirectComposition.
Differential Revision: https://phabricator.services.mozilla.com/D252247
This is a non-functional change to clean up some of the memory
management in GfxInfo and GfxDriverInfo. This makes it easier to track
what owns what and helps later patches in the stack.
Differential Revision: https://phabricator.services.mozilla.com/D251789
This reverts commit ebecd3fbf1.
Revert "Bug 1969255 - Part 4. Distingush between Windows 10 and 11 in blocklist rules. r=win-reviewers,gfx-reviewers,bradwerth,gstoll"
This reverts commit 67e34e0032.
Revert "Bug 1969255 - Part 3. Add support for detailed OS version comparison blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll"
This reverts commit e7a16b3708.
Revert "Bug 1969255 - Part 2. Switch over to managed pointers in GfxInfo. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll"
This reverts commit 1823b99227.
Revert "Bug 1969255 - Part 1. Ensure we expose historically missing filter criteria on the blocklist. r=gfx-reviewers,bradwerth"
This reverts commit c5e3cb59b5.
This is a non-functional change to clean up some of the memory
management in GfxInfo and GfxDriverInfo. This makes it easier to track
what owns what and helps later patches in the stack.
Differential Revision: https://phabricator.services.mozilla.com/D251789
This reverts commit 71c854a7c7.
Revert "Bug 1969255 - Part 4. Distingush between Windows 10 and 11 in blocklist rules. r=win-reviewers,gfx-reviewers,bradwerth,gstoll"
This reverts commit f12b5a2e23.
Revert "Bug 1969255 - Part 3. Add support for detailed OS version comparison blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll"
This reverts commit e6d94109d2.
Revert "Bug 1969255 - Part 2. Switch over to managed pointers in GfxInfo. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll"
This reverts commit d984fec4f8.
Revert "Bug 1969255 - Part 1. Ensure we expose historically missing filter criteria on the blocklist. r=gfx-reviewers,bradwerth"
This reverts commit 2f4298473a.
This is a non-functional change to clean up some of the memory
management in GfxInfo and GfxDriverInfo. This makes it easier to track
what owns what and helps later patches in the stack.
Differential Revision: https://phabricator.services.mozilla.com/D251789
MOZ_RUNINIT => initialized at runtime
MOZ_CONSTINIT => initialized at compile time
MOZ_GLOBINIT => initialized either at runtime or compile time, depending on template parameter, macro parameter etc
This annotation is only understood by our clang-tidy plugin. It has no
effect on regular compilation.
Differential Revision: https://phabricator.services.mozilla.com/D223341