Commit Graph
254 Commits
Author SHA1 Message Date
Sylvestre Ledru 4f6b8b516d Bug 2023419 - Remove Emacs/Vim modelines from widget/ r=emilio
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287877
2026-03-16 17:22:02 +00:00
Jamie Nicol df5c843ad4 Bug 1925116 - Report real GL string values to gfxInfo following renderer's GL context creation. r=gfx-reviewers,geckoview-reviewers,nical,tcampbell
When webrender's GL context is created, query the GL strings and
report them back to gfxInfo. This is used as a sanity check that
gfxInfo's cached values were correct. If they differ we don't change
any blocklisting decisions for the current session, but we do update
the cache so that the next run will use the correct values.

In practice we do not expect the cached values to differ from the
reported ones, as Android devices tend not to change their GPU, nor
update drivers without an OS update.

Differential Revision: https://phabricator.services.mozilla.com/D278247
2026-01-12 14:25:48 +00:00
Jamie Nicol b16a473520 Bug 1925116 - Use cached GL Strings in gfxInfo on Android. r=gfx-reviewers,geckoview-reviewers,nical,tcampbell
Android's gfxInfo creates a GL context and queries the vendor,
renderer, version, and extensions strings. It then uses these for
blocklisting. Creating a GL context can be expensive, and this occurs
on the main thread early during startup.

This patch therefore caches the queried strings. In the happy path, we
read the strings from preferences and avoid having to initialize a GL
context altogether. If the cache is empty, or we detect the operating
system has been updated, then we create the context and query the
strings as before.

The relies on the assumption that the graphics driver will not be
updated without an operating system update, and that the GPU will not
change. This seems likely to be valid for the vast majority of users,
but the next patch will add a mechanism to help in cases where that
assumption does not hold.

Differential Revision: https://phabricator.services.mozilla.com/D278246
2026-01-12 14:25:46 +00:00
Makoto Kato b6dfe0576f Bug 1996275 - Remove FEATURE_STAGEFRIGHT that is unused. r=media-playback-reviewers,gfx-reviewers,geckoview-reviewers,alwu,ohall,nical
OMX plugin for Android was removed by bug 1379190, so
`FEATURE_STAGEFRIGHT` is also no longer used now.

Differential Revision: https://phabricator.services.mozilla.com/D270082
2025-10-29 11:36:05 +00:00
Lee Salzman c94f5fca4f Bug 1996104 - Remove Feature::DIRECT2D and related queries. r=aosmond,geckoview-reviewers,media-playback-reviewers,win-reviewers,webcompat-reviewers,toolkit-telemetry-reviewers,layout-reviewers,gstoll,twisniewski,emilio,m_kato
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
2025-10-24 20:01:47 +00:00
Ryan VanderMeulen 173bb27ec1 Bug 1972713 - Fix non-unified build errors in gfx. r=geckoview-reviewers,gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D264307
2025-09-10 12:46:08 +00:00
Makoto Kato ea43e9b938 Bug 1980561 - Remove hasHWVP8Encoder/hasHWVP8Decoder from GeckoAppShell. r=geckoview-reviewers,nalexander
Both methods are defined in GeckoAppShell and HardwareCodecCapabilityUtils.
So we can remove one.

Differential Revision: https://phabricator.services.mozilla.com/D259507
2025-08-04 03:03:23 +00:00
Jamie Nicol 95c6ad3e57 Bug 1970771 - Expose whether OpenGL 16-bit normalized texture formats are supported in a gfxFeature/gfxVar. r=aosmond
These are supported by default in OpenGL, but in GLES they require the
extension GL_EXT_texture_norm16. By exposing whether this is supported
we will be able to ensure that producers of texture data (such as video
decoders) only provide consumers (such as webrender) with formats they
can handle.

The gfxFeature state is initialized from the gfxInfo blocklist. This was
convenient as Android's gfxInfo has access to the list of available GL
extensions. But importantly it also has the benefit of allowing us to
blocklist any devices on which we encounter issues with this extension.

Differential Revision: https://phabricator.services.mozilla.com/D253133
2025-06-23 02:43:28 +00:00
Alexandru Marc dfacd47935 Revert "Bug 1970771 - test High/Professional AV1 video files. r=media-playback-reviewers,alwu" for causing mda failures @ test_av1_high_professional_profiles.html
This reverts commit 1afadbfa6f.

Revert "Bug 1970771 - enable 8-bit output option only on Android to align with bug scope. r=media-playback-reviewers,alwu,padenot"

This reverts commit 824f89b863.

Revert "Bug 1970771 - enable 8-bit output option for FFmpegVideoDecoder. r=media-playback-reviewers,alwu"

This reverts commit 40a308a040.

Revert "Bug 1970771 - enable 8-bit output option when GPU doesn't support 16-bit image. r=media-playback-reviewers,alwu"

This reverts commit b06d8c67a8.

Revert "Bug 1970771 - add 8-bit per channel output option to DAV1DDecoder. r=media-playback-reviewers,alwu"

This reverts commit eda036342f.

Revert "Bug 1970771 - Expose whether OpenGL 16-bit normalized texture formats are supported in a gfxFeature/gfxVar. r=aosmond"

This reverts commit bff67bb69e.
2025-06-21 23:10:05 +00:00
Jamie Nicol bff67bb69e Bug 1970771 - Expose whether OpenGL 16-bit normalized texture formats are supported in a gfxFeature/gfxVar. r=aosmond
These are supported by default in OpenGL, but in GLES they require the
extension GL_EXT_texture_norm16. By exposing whether this is supported
we will be able to ensure that producers of texture data (such as video
decoders) only provide consumers (such as webrender) with formats they
can handle.

The gfxFeature state is initialized from the gfxInfo blocklist. This was
convenient as Android's gfxInfo has access to the list of available GL
extensions. But importantly it also has the benefit of allowing us to
blocklist any devices on which we encounter issues with this extension.

Differential Revision: https://phabricator.services.mozilla.com/D253133
2025-06-21 22:19:15 +00:00
Cristian Tuns 8c97a153dc Revert "Bug 1970771 - test High/Professional AV1 video files. r=media-playback-reviewers,alwu"
This reverts commit 8531db1494.

Revert "Bug 1970771 - enable 8-bit output option only on Android to align with bug scope. r=media-playback-reviewers,alwu,padenot"

This reverts commit 7684254b49.

Revert "Bug 1970771 - enable 8-bit output option for FFmpegVideoDecoder. r=media-playback-reviewers,alwu"

This reverts commit 3867a5daa2.

Revert "Bug 1970771 - enable 8-bit output option when GPU doesn't support 16-bit image. r=media-playback-reviewers,alwu"

This reverts commit fa0f004c50.

Revert "Bug 1970771 - add 8-bit per channel output option to DAV1DDecoder. r=media-playback-reviewers,alwu"

This reverts commit a812b4c602.

Revert "Bug 1970771 - Expose whether OpenGL 16-bit normalized texture formats are supported in a gfxFeature/gfxVar. r=aosmond"

This reverts commit 4865839f1d.
2025-06-21 18:39:13 +00:00
Jamie Nicol 4865839f1d Bug 1970771 - Expose whether OpenGL 16-bit normalized texture formats are supported in a gfxFeature/gfxVar. r=aosmond
These are supported by default in OpenGL, but in GLES they require the
extension GL_EXT_texture_norm16. By exposing whether this is supported
we will be able to ensure that producers of texture data (such as video
decoders) only provide consumers (such as webrender) with formats they
can handle.

The gfxFeature state is initialized from the gfxInfo blocklist. This was
convenient as Android's gfxInfo has access to the list of available GL
extensions. But importantly it also has the benefit of allowing us to
blocklist any devices on which we encounter issues with this extension.

Differential Revision: https://phabricator.services.mozilla.com/D253133
2025-06-21 17:41:13 +00:00
Andrew Osmond 5cdb3cb689 Bug 1969255 - Part 3. Add support for detailed OS version comparison blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D251790
2025-06-05 20:46:39 +00:00
Andrew Osmond 0d2c62d0b2 Bug 1969255 - Part 2. Switch over to managed pointers in GfxInfo. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll
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
2025-06-05 20:46:36 +00:00
Alexandru Marc eba25db42a Revert "Bug 1969255 - Part 5. Add support for monitor properties to blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,gstoll" for causing build bustages @ GfxInfo.h
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.
2025-06-05 17:25:04 +00:00
Andrew Osmond e7a16b3708 Bug 1969255 - Part 3. Add support for detailed OS version comparison blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D251790
2025-06-05 16:35:11 +00:00
Andrew Osmond 1823b99227 Bug 1969255 - Part 2. Switch over to managed pointers in GfxInfo. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll
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
2025-06-05 16:35:08 +00:00
pstanciu 39a31599c2 Revert "Bug 1969255 - Part 5. Add support for monitor properties to blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,gstoll" for causing build bustages on gfxConfigManager.cpp
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.
2025-06-04 22:59:47 +00:00
Andrew Osmond e6d94109d2 Bug 1969255 - Part 3. Add support for detailed OS version comparison blocklist rules. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D251790
2025-06-04 22:02:28 +00:00
Andrew Osmond d984fec4f8 Bug 1969255 - Part 2. Switch over to managed pointers in GfxInfo. r=geckoview-reviewers,win-reviewers,gfx-reviewers,bradwerth,nalexander,gstoll
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
2025-06-04 22:02:25 +00:00
Jamie Nicol f2dde55ddc Bug 1886715 - Block webgpu by default on Android. r=webgpu-reviewers,jimb
Currently webgpu is enabled by default on Nightly Android. As it is
currently receiving no testing at all, we should disable it by default
by adding a blocklist entry. Adventurous souls will still be able to
enable it by setting the pref gfx.webgpu.ignore-blocklist=true.

Differential Revision: https://phabricator.services.mozilla.com/D205300
2024-03-21 17:17:25 +00:00
Gabriele Svelto e1e9346196 Bug 1831092 - Use the new pull-based API for all crash annotations and remove the global annotations table r=jgilbert,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,padenot,handyman,afranchuk,valentin,alwu,sotaro
This changes comes with several different refactorings all rolled into one,
unfotunately I couldn't find a way to pull them apart:
- First of all annotations now can either recorded (that is, we copy the value
  and have the crash reporting code own the copy) or registered. Several
  annotations are changed to use this functionality so that we don't need to
  update them as their value change.
- The code in the exception handler is modified to read the annotations from
  the mozannotation_client crate. This has the unfortunate side-effect that
  we need three different bits of code to serialize them: one for annotations
  read from a child process, one for reading annotations from the main process
  outside of the exception handler and one for reading annotations from the
  main process within the exception handler. As we move to fully
  out-of-process crash reporting the last two methods will go away.
- The mozannotation_client crate now doesn't record annotation types anymore.
  I realized as I was working on this that storing types at runtime has two
  issues: the first one is that buggy code might change the type of an
  annotation (that is record it under two different types at two different
  moments), the second issue is that types might become corrupt during a
  crash, so better enforce them at annotation-writing time. The end result is
  that the mozannotation_* crates now only store byte buffers, track the
  format the data is stored in (null-terminated string, fixed size buffer,
  etc...) but not the type of data each annotation is supposed to contain.
- Which brings us to the next change: concrete types for annotations are now
  enforced when they're written out. If an annotation doesn't match the
  expected type it's skipped. Storing an annotation with the wrong type will
  also trigger an assertion in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D195248
2024-03-04 10:24:43 +00:00
Andrew Osmond 8f554dd944 Bug 1868737 - Allow minimal gfx features by default for uncertain configurations. r=jrmuizel,perftest-reviewers,kshampur
Some features such as the GPU process (except on Android), backdrop
filter (because it always works with Software WebRender), ANGLE (because
it is generally good) and out of process WebGL (we generally want to
remote WebGL for sandboxing purposes) are special, and should not be
disabled simply because we are uncertain about our configuration. In
these situations, disable most features, but keep these enabled by
default.

Differential Revision: https://phabricator.services.mozilla.com/D197595
2024-01-05 22:23:25 +00:00
Stanca Serban a663c66bc3 Backed out changeset 03a4fbacc768 (bug 1868737) for causing talos performance tests related failures. CLOSED TREE 2024-01-05 02:17:01 +02:00
Andrew Osmond 44804dd627 Bug 1868737 - Allow minimal gfx features by default for uncertain configurations. r=jrmuizel
Some features such as the GPU process (except on Android), backdrop
filter (because it always works with Software WebRender), ANGLE (because
it is generally good) and out of process WebGL (we generally want to
remote WebGL for sandboxing purposes) are special, and should not be
disabled simply because we are uncertain about our configuration. In
these situations, disable most features, but keep these enabled by
default.

Differential Revision: https://phabricator.services.mozilla.com/D197595
2024-01-04 19:08:42 +00:00
Makoto Kato d1069dac5f Bug 1858843 - Remove pre-Lollipop code from C/C++. r=geckoview-reviewers,media-playback-reviewers,padenot,owlish,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D191602
2023-11-09 17:39:59 +00:00
stransky 3e226459dc Bug 1828192 [Linux] Run glxtest directly from GfxInfo::GetData() in case we're missing glx test data r=emilio
- Run glxtest directly from GfxInfo::GetData() in case we're missing glx test data. That happens for unusual code paths
  like profile manager run or xpcshell testing.
- Remove nsIGfxInfoDebug::fireTestProcess() hack to run glxtest in testsuite. We don't need that due this change.

Differential Revision: https://phabricator.services.mozilla.com/D175868
2023-04-20 08:54:17 +00:00
Emilio Cobos Álvarez 1fd4ace1cd Bug 1812698 - Expose desktopEnvironment via nsIXULRuntime rather than nsIGfxInfo. r=stransky
This is:

 * An easier way for browser code to access it.
 * Avoids having a bunch of per-platform implementations.
 * We don't need to actually get graphics info for it to work.

So it should be a bit nicer over all.

Differential Revision: https://phabricator.services.mozilla.com/D168373
2023-02-01 13:14:50 +00:00
Daniel Baker a6ff7066fb Bug 1804287 - Added build version to cached features to refresh cache with new builds.;r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D163974
2022-12-06 23:04:33 +00:00
Andrew Osmond 495a0cc878 Bug 1794722 - Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
WebRender is a mature feature. We should start blocking it on known bad
devices over allowlisting known good devices. This may enable WebRender
in a few more obscure places than we shipped before.

Differential Revision: https://phabricator.services.mozilla.com/D160120
2022-10-28 12:36:05 +00:00
Nika Layzell 63a28ee824 Bug 1772006 - Part 5: Simplify and move the string searching APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,eeejay,dragana,barret
The biggest set of APIs from ns[T]StringObsolete which are still heavily used
are the string searching APIs. It appears the intention was for these to be
replaced by the `FindInReadable` APIs, however that doesn't appear to have
happened.

In addition, the APIs have some quirks around their handling of mixed character
widths. These APIs generally supported both narrow strings and the native
string type, probably because char16_t string literals weren't available until
c++11. Finally they also used easy-to-confuse unlabeled boolean and integer
optional arguments to control behaviour.

These patches do the following major changes to the searching APIs:

1. The ASCII case-insensitive search method was split out as
   LowerCaseFindASCII, rather than using a boolean. This should be less
   error-prone and more explicit, and allows the method to continue to use
   narrow string literals for all string types (as only ASCII is supported).
2. The other [R]Find methods were restricted to only support arguments with
   matching character types. I considered adding a FindASCII method which would
   use narrow string literals for both wide and narrow strings but it would've
   been the same amount of work as changing all of the literals to unicode
   literals.
   This ends up being the bulk of the changes in the patch.
3. All find methods were re-implemented using std::basic_string_view's find
   algorithm or stl algorithms to reduce code complexity, and avoid the need to
   carry around the logic from nsStringObsolete.cpp.
4. The implementations were moved to nsTStringRepr.cpp.
5. An overload of Find was added to try to catch callers which previously
   called `Find(..., false)` or `Find(..., true)` to set case-sensitivity, due
   to booleans normally implicitly coercing to `index_type`. This should
   probably be removed at some point, but may be useful during the transition.

Differential Revision: https://phabricator.services.mozilla.com/D148300
2022-07-30 00:12:48 +00:00
criss c1b045ddda Backed out 9 changesets (bug 1772006) causing build bustages on nsTString.cpp. CLOSED TREE
Backed out changeset f17c7565707b (bug 1772006)
Backed out changeset c725fe1f5882 (bug 1772006)
Backed out changeset d19663161261 (bug 1772006)
Backed out changeset b6611ab002d9 (bug 1772006)
Backed out changeset 790f42b64af9 (bug 1772006)
Backed out changeset 79a734b4e4d9 (bug 1772006)
Backed out changeset 42730aae16ea (bug 1772006)
Backed out changeset b2542aef3054 (bug 1772006)
Backed out changeset 962bfea4a309 (bug 1772006)
2022-06-11 01:13:42 +03:00
Nika Layzell c1e4a1e52c Bug 1772006 - Part 6: Simplify and move the string searching APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,eeejay,dragana,barret
The biggest set of APIs from ns[T]StringObsolete which are still heavily used
are the string searching APIs. It appears the intention was for these to be
replaced by the `FindInReadable` APIs, however that doesn't appear to have
happened.

In addition, the APIs have some quirks around their handling of mixed character
widths. These APIs generally supported both narrow strings and the native
string type, probably because char16_t string literals weren't available until
c++11. Finally they also used easy-to-confuse unlabeled boolean and integer
optional arguments to control behaviour.

These patches do the following major changes to the searching APIs:

1. The ASCII case-insensitive search method was split out as
   LowerCaseFindASCII, rather than using a boolean. This should be less
   error-prone and more explicit, and allows the method to continue to use
   narrow string literals for all string types (as only ASCII is supported).
2. The other [R]Find methods were restricted to only support arguments with
   matching character types. I considered adding a FindASCII method which would
   use narrow string literals for both wide and narrow strings but it would've
   been the same amount of work as changing all of the literals to unicode
   literals.
   This ends up being the bulk of the changes in the patch.
3. All find methods were re-implemented using std::basic_string_view's find
   algorithm or stl algorithms to reduce code complexity, and avoid the need to
   carry around the logic from nsStringObsolete.cpp.
4. The implementations were moved to nsTStringRepr.cpp.
5. An overload of Find was added to try to catch callers which previously
   called `Find(..., false)` or `Find(..., true)` to set case-sensitivity, due
   to booleans normally implicitly coercing to `index_type`. This should
   probably be removed at some point, but may be useful during the transition.

Differential Revision: https://phabricator.services.mozilla.com/D148300
2022-06-10 21:12:08 +00:00
Jamie Nicol abca9f835b Bug 1773128 - Block webrender on several PowerVR GPUs due to crash. r=gfx-reviewers,nical
There is a crash in glFenceSync (used to recycle PBOs when uploading
textures) affecting several PowerVR GPUs. Block webrender on the known
bad combinations of GPU and driver versions.

Differential Revision: https://phabricator.services.mozilla.com/D148638
2022-06-08 13:57:51 +00:00
Emilio Cobos Álvarez de04902104 Bug 1767172 - Remove custom screen info handling from GfxInfo, use ScreenManager for that. r=jrmuizel,handyman,stransky
This removes a bunch of custom code from GfxInfo to obtain screen
information, and instead collects that screen information in
ScreenManager.

This, apart of removing duplicated code, has the extra benefit of
reporting multi-monitor information on GTK (and potentially in the
future reporting scale and refresh rate properly as well, I've kept the
telemetry as it was on that regard).

Differential Revision: https://phabricator.services.mozilla.com/D145178
2022-05-06 23:37:25 +00:00
Cosmin Sabou 0eb9f934ae Backed out changeset b2bea8e0b400 (bug 1767172) for causing startup crashes (Bug 1768260). a=backout 2022-05-07 01:28:53 +03:00
Emilio Cobos Álvarez 6d48fc3fcb Bug 1767172 - Remove custom screen info handling from GfxInfo, use ScreenManager for that. r=jrmuizel,handyman,stransky
This removes a bunch of custom code from GfxInfo to obtain screen
information, and instead collects that screen information in
ScreenManager.

This, apart of removing duplicated code, has the extra benefit of
reporting multi-monitor information on GTK (and potentially in the
future reporting scale and refresh rate properly as well, I've kept the
telemetry as it was on that regard).

Differential Revision: https://phabricator.services.mozilla.com/D145178
2022-05-05 15:07:03 +00:00
Jamie Nicol d4c0bc99b9 Bug 1762424 - Unblock GPU process on Android 12. r=gfx-reviewers,nical
With the previous patches in this series we can properly recover from
a GPU process restart, so unblock it.

Differential Revision: https://phabricator.services.mozilla.com/D143487
2022-04-18 18:11:08 +00:00
Jamie Nicol c8d9347d32 Bug 1763392 - Generate SDK bindings for nested Java classes as nested C++ classes. r=agi,media-playback-reviewers,bryce
For example, the SDK class android.media.MediaDrm$KeyStatus will now
be defined as MediaDrm::KeyStatus rather than just KeyStatus.

Not only does this avoid polluting the top-level namespace, but it
also avoids a bug where invalid type names were generated if the
nested class contains a method with a parameter or return of the outer
class' type.

Differential Revision: https://phabricator.services.mozilla.com/D143043
2022-04-07 11:12:20 +00:00
Jamie Nicol 29675309a6 Bug 1762025 - Block GPU process on Android versions 12 and above. r=gfx-reviewers,aosmond
On Android version 12, it appears as if the EGL context does not
correctly get detached from a Surface when its process dies. This
means that subsequent attempts to create an EGL context fail, meaning
we cannot render anything.

This results in a completely unusable browser following a GPU process
crash, which is worse than the alternative of a parent process crash.

Block the GPU process on Android 12 and above until we have found a
workaround.

Differential Revision: https://phabricator.services.mozilla.com/D142452
2022-03-30 13:37:19 +00:00
Jamie Nicol 9482947278 Bug 1719327 - Block webrender on Vivante GC7000UL devices. r=gfx-reviewers,jrmuizel
Webrender crashes during draw calls on this GPU. Move users to
software webrender instead.

Differential Revision: https://phabricator.services.mozilla.com/D137666
2022-02-02 17:21:08 +00:00
Andrew Osmond fb2f935ab7 Bug 1751252 - Block partial present on Linux NVIDIA and ship X11 EGL with NVIDIA to release. r=rmader,jrmuizel,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D136518
2022-01-21 16:24:06 +00:00
Makoto Kato ab395a19a7 Bug 1748955 - Remove AndroidBridge dependencies from GfxInfo. r=geckoview-reviewers,calu
As historical reason, AndroidBridge has a lot of JNI wrappers. But we have
auto-generation JNI wrappers now, so it is unnecessary to keep wrappers in
AndroidBridge for GfxInfo.

So I would like to remove AndroidBridge dependencies from GfxInfo.

Differential Revision: https://phabricator.services.mozilla.com/D135324
2022-01-13 12:09:47 +00:00
Jamie Nicol 163c07bcdf Bug 1742987 - Block webrender on Android on PowerVR Rogue G6110 GPUs. r=gfx-reviewers,aosmond
Due to bug 1742986 and bug 1717863 we are blocking webrender on
Android devices PowerVR Rogue G6110 GPUs. These devices will use
software webrender instead.

Differential Revision: https://phabricator.services.mozilla.com/D132170
2021-11-25 20:47:17 +00:00
Andrew Osmond 1be7dc2ffd Bug 1724794 - Remove Software WebRender allow/blocklist plumbing. r=gfx-reviewers,jrmuizel
We don't use this anymore for anything.

Differential Revision: https://phabricator.services.mozilla.com/D122254
2021-08-11 14:07:02 +00:00
Gabriele Svelto 6c84191650 Bug 1723934 - Remove useless nsExceptionHandler.h inclusions and crash reporter service definitions r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D121708
2021-08-09 20:08:17 +00:00
Andrew Osmond 56d4eef752 Bug 1721407 - Explicitly block Mali 4xx for WR so that they get SW-WR by default. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D120359
2021-07-20 16:22:20 +00:00
Andrew Osmond b82a496839 Bug 1717862 - Ship Software WebRender and WebRender to remaining Android devices. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D118605
2021-06-23 16:55:18 +00:00
Jamie Nicol e00ae42574 Bug 1716971 - Enable webrender on Android on NVIDIA Tegra GPUs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D118156
2021-06-17 13:07:50 +00:00
Jamie Nicol 1eb8bdef1d Bug 1715746 - Re-enable webrender on Adreno 505 and 506 devices. r=jrmuizel
While webrender has been shipping for a long time on other Adreno 5xx
devices, we had disabled it on Adreno 505 and 506 due to frequent
crashes during shader compilation. This crash has now been fixed, so
we can ship webrender to these devices.

Depends on D117427

Differential Revision: https://phabricator.services.mozilla.com/D117428
2021-06-10 14:22:31 +00:00