Since zero copy video of hardware decoded video is enabled with NVIDIA GPUs(Bug 1882001), regression is not reported. Then it seems OK to enable it for all GPUs including AMD GPUs to early beta.
With Intel GPUs, it is enable until release for a long time.
Differential Revision: https://phabricator.services.mozilla.com/D211950
This patch makes two changes:
1) Backdrops will be considered spanning as long as they cover the
visible local clip rect. Formerly, they had to span the entire visible
local rect, which meant that undrawn areas had to also be covered.
2) Image prims will not promote until all of the promotable YuvImage
prims have been considered for promotion. This is similar to the
original implementation of underlays in Bug 1849680, where the presence
of any YuvImage prim would prevent *all* overlay promotion (which is the
only type considered for Image prims). The new behavior will allow Image
prims to be promoted as long as all the YuvImages have been processed.
Differential Revision: https://phabricator.services.mozilla.com/D211297
At certain scales, floating point innacuracies were causing adjacent
tiles to have miniscule gaps between them. This could result in
visible seams whilst zooming. By constructing the rects with start and
end points we ensure that is not the case.
Differential Revision: https://phabricator.services.mozilla.com/D211990
Currently the composite shader takes as input the tile rect in local
space, a local-to-device, transform, and the clip rect in device
space. The shader will then transform the local rect in to device
space and then clip it.
On the CPU side, that clip rect was calculated by transforming the
same tile rect in to device space using the same transform. (And
intersecting with additional rects too). However, performing the same
floating point calculations on the CPU and GPU can produce slightly
different results. Discrepancies between the device rect as calculated
by the CPU and GPU were causing the tiles to occasionally be clipped
fractionally smaller than intended, which was resulting in visible
seams whilst zooming a page.
To fix this, we supply the tile rect in device space to the shader,
meaning the transformation is only ever calculated on the CPU. As the
transform could contain a negative scale to indicate a flip, we
replace it with a "flip" input for each axis.
Differential Revision: https://phabricator.services.mozilla.com/D211989
The debug flag for ml.exe and ml64.exe is -Zi instead of -Z7,
which is used with clang-cl.
Set this when CC_TYPE is "clang-cl" to match the if-statements in
`default_debug_flags` and `as_info` in toolchain.configure.
Fixes warning A4018: invalid command-line option.
Differential Revision: https://phabricator.services.mozilla.com/D211480
This patch will report the Type II Array subclassing.
A previous version of this patch had CacheIR support for this; however this has
proved to have less performance impact and more complexity challenges than
forseen. As a result, this support has been removed until proven necessary.
Differential Revision: https://phabricator.services.mozilla.com/D210535
This is purely a stylistic choice, feel free to reject if you disagree. I have a much easier time reading the math this way. This patch does not change the behavior of the code.
Depends on D211852
Differential Revision: https://phabricator.services.mozilla.com/D211853
There was an undocumented assumption that the raster node is the root spatial node if raster node != surface node which was very confusing because this function can be called in cases the raster node is different. This patch cleans up the local/picture terminology, replaces the use of the root node with the surface's raster node (which are assumed to be equal) since that is more generally correct and asserts the assumption about the root node. There should be no behavior change in the patch (unless the working assumption does not hold true and the added assertion is hit).
Depends on D211830
Differential Revision: https://phabricator.services.mozilla.com/D211849
As we've added encryption scheme per content type in previous patches,
there is no need to keep this old encryption scheme.
Differential Revision: https://phabricator.services.mozilla.com/D211793