Bug 1734649 - Part 4. Lift some conditions preventing WebGL OOP. r=jgilbert

Now that WebGL runs on the Renderer thread in the compositor process
when OOP, we can now lift the threadsafe condition on Linux preventing
WebGL OOP. Regardless of webgl.out-of-process's setting, we should
always prefer by default to run worker WebGL contexts OOP to avoid
similar threadsafe conflicts in the content process.

Differential Revision: https://phabricator.services.mozilla.com/D129896
This commit is contained in:
Andrew Osmond
2021-11-04 16:29:45 +00:00
parent fdc4cfcadc
commit 2de5a009f5
3 changed files with 16 additions and 18 deletions

View File

@@ -545,15 +545,16 @@ ClientWebGLContext::SetDimensions(const int32_t signedWidth,
}
static bool IsWebglOutOfProcessEnabled() {
bool useOop = StaticPrefs::webgl_out_of_process();
if (!gfx::gfxVars::AllowWebglOop()) {
useOop = false;
}
if (StaticPrefs::webgl_out_of_process_force()) {
useOop = true;
return true;
}
return useOop;
if (!gfx::gfxVars::AllowWebglOop()) {
return false;
}
if (!NS_IsMainThread()) {
return StaticPrefs::webgl_out_of_process_worker();
}
return StaticPrefs::webgl_out_of_process();
}
static inline bool StartsWith(const std::string& haystack,