Since the upgrade of the Windows testers to the October 2023 version of Windows,
the anti-aliasing returns different results. The directWrite version changed
from 10.0.22621.1635 to 10.0.22621.2428
Differential Revision: https://phabricator.services.mozilla.com/D193926
Use sigle point of release for EGL surfaces (GLContextEGL::DestroySurface()) and also release Wayland related structures here.
Differential Revision: https://phabricator.services.mozilla.com/D190152
Removed the use of kCTFontOptionsPreferSystemFont that was in the previous version
of this patch, given the issues we saw in bug 1858869 -- that option appears to be
much too aggressive about using system fonts rather than user-installed ones. So
we retain only the gfxPlatformMac font-activation change.
Differential Revision: https://phabricator.services.mozilla.com/D170286
This patch adds a new method for Image subclasses to override in order
to avoid extra copies when the ultimate destination of a readback is
into an IPDL Shmem. It also makes RemoteDecoderManagerParent's
RecvReadback take advantage of it.
Differential Revision: https://phabricator.services.mozilla.com/D192883
It's not used in any of the implementations and this will let us
avoid passing the DrawTarget through to a variety of places.
Differential Revision: https://phabricator.services.mozilla.com/D193462
This is not necessary to fix the observed bug, but as a precaution against excessive
negative tracking, let's clamp the adjusted advance so that it can't become negative
(which seems unlikely to end well).
Also rename the method, given that it is not only used for synthetic bold adjustments
any longer.
(No change in behavior, except in the edge-case of a font that has such small
advances and extreme tracking that it tries to go backwards...)
Depends on D193288
Differential Revision: https://phabricator.services.mozilla.com/D193289
This method (as its name suggests) was originally created to handle synthetic-bold,
which only ever increases the advance, and so its use of an unsigned value for the
adjustment worked ok.
But when applying tracking, the adjustment may be negative, and assigning this to
a uint32_t value takes us into undefined-behavior territory. It seems this worked
"as expected" on x86_64 (using modulo arithmetic), but on arm64 the value just
clamped to zero, and the intended negative tracking doesn't get applied.
Making it an int32_t results in consistent behavior across both architectures.
Differential Revision: https://phabricator.services.mozilla.com/D193288
This is not necessary to fix the observed bug, but as a precaution against excessive
negative tracking, let's clamp the adjusted advance so that it can't become negative
(which seems unlikely to end well).
Also rename the method, given that it is not only used for synthetic bold adjustments
any longer.
(No change in behavior, except in the edge-case of a font that has such small
advances and extreme tracking that it tries to go backwards...)
Depends on D193288
Differential Revision: https://phabricator.services.mozilla.com/D193289
This method (as its name suggests) was originally created to handle synthetic-bold,
which only ever increases the advance, and so its use of an unsigned value for the
adjustment worked ok.
But when applying tracking, the adjustment may be negative, and assigning this to
a uint32_t value takes us into undefined-behavior territory. It seems this worked
"as expected" on x86_64 (using modulo arithmetic), but on arm64 the value just
clamped to zero, and the intended negative tracking doesn't get applied.
Making it an int32_t results in consistent behavior across both architectures.
Differential Revision: https://phabricator.services.mozilla.com/D193288
wgpu dx12 requests to Texture that if its usage has STORAGE_BINDING, D3D12 resource needs to have D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS.
The equivalent of D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS in D3D11 is D3D11_BIND_UNORDERED_ACCESS. Therefore, D3D11 textures in ExternalTextureD3D11 also require D3D11_BIND_UNORDERED_ACCESS if STORAGE_BINDING is used.
Differential Revision: https://phabricator.services.mozilla.com/D192976
GetAndInitDeviceDisplay() uses DrmRenderDevice to create GL context over drm device so we should set it even if dmabuf operations are disabled.
Differential Revision: https://phabricator.services.mozilla.com/D192933
GetAndInitDeviceDisplay() uses DrmRenderDevice to create GL context over drm device so we should set it even if dmabuf operations are disabled.
Differential Revision: https://phabricator.services.mozilla.com/D192933
No user-visible behavior change; just trying to move a bit more work onto a secondary thread,
in the hope of improving startup perf (althogh if there's too much contention for disk i/o,
or not enough CPU cores available, it may not help much).
Differential Revision: https://phabricator.services.mozilla.com/D170287
Removed the use of kCTFontOptionsPreferSystemFont that was in the previous version
of this patch, given the issues we saw in bug 1858869 -- that option appears to be
much too aggressive about using system fonts rather than user-installed ones. So
we retain only the gfxPlatformMac font-activation change.
Differential Revision: https://phabricator.services.mozilla.com/D170286
WindowsHandle exists for ipc. And we normally use HANDLE in Windows only code. We do not need to use both WindowsHandle and HANDLE in Windows only code.
This is a preparation for Bug 1861605.
Differential Revision: https://phabricator.services.mozilla.com/D192811