Allocate dmabuf in VKImage, since direct dmabuf creation by gbm_bo_* is not reliable and comes with various issue.
Texture of swap chain uses vk::ImageCreateFlags::ALIAS(VK_IMAGE_CREATE_ALIAS_BIT).
wgpu_server_adapter_request_device() allocates vulkan device for enabling the following extensions that is necessary for dmabuf support.
- khr::external_memory_fd
- ext::external_memory_dma_buf
- ext::image_drm_format_modifier
- khr::external_semaphore_fd
Differential Revision: https://phabricator.services.mozilla.com/D223910
to_shmem and to_shmem_derive need a description, and selectors needs a
version bump.
Tweak supply-chain audits / config to deal with now published crates.
Differential Revision: https://phabricator.services.mozilla.com/D226468
This passes the profile directory as a crash annotation (which is not
sent in the crash report). The profile directory is already indirectly
passed to the crash reporter through
`MOZ_CRASHREPORTER_EVENTS_DIRECTORY`, however I don't think that's
something to rely upon.
The pref parsing and langpack extension search are done on a best-effort
basis; there may be some odd configurations for which it does not
account. However, it should cover the vast majority of cases. While we
don't want to underserve niche populations that may have an odd
configuration, we do always have fallback behaviors that are likely
still reasonable for most (like using the installation locale). We also
first try the `useragent_locale` annotation before getting locales from
the prefs.
This only looks in the profile and the installation for langpack
extensions. There are a few other system-wide locations that Firefox
looks in. However, the assumptions are:
1) overwhelmingly users install langpacks using the UI rather than
manually downloading the file, and
2) if installed with a package manager (mostly applicable to linux),
langpacks are put in the installation. This is the case for the few
major linux distros I checked.
If we think this is not enough, I can also add the system-wide
directories.
Differential Revision: https://phabricator.services.mozilla.com/D222356
I thought we needed to write some code to implement trait interfaces,
but they actually already work. So, let's just add a simple test for
them.
Differential Revision: https://phabricator.services.mozilla.com/D222025
I thought we needed to write some code to implement trait interfaces,
but they actually already work. So, let's just add a simple test for
them.
Differential Revision: https://phabricator.services.mozilla.com/D222025
This brought in a breaking change: `Suggestion.icon` is now the `bytes`
type. To accomidate that, added UniFFI support for bytes and updated
the SuggestBackendRust code since that field is now a Uint8Array on the
JS side.
Differential Revision: https://phabricator.services.mozilla.com/D223774
This commit adds plumbing for detecting potentially corrupt SQLite
databases, running maintenance checks, and moving definitively
corrupt database files aside. It works like this:
* `Connection::{read, write}()` observes all connection errors, and
records "incidents" for errors that could indicate corruption.
* `Store::open()` checks all recorded incidents on the read-write
connection, determines if they're severe enough to run a maintenance
check, and takes the read-write and read-only connections temporarily
out of service if so. This is to try and avoid running potentially
expensive maintenance operations for one-off errors.
* If the maintenance check succeeds, the store puts both connections
back into service. If the check fails, the store takes both
connections permanently out of service, and moves the corrupt
database file and its related files aside.
Depends on D221930
Differential Revision: https://phabricator.services.mozilla.com/D220760