[WebGL] Turn on more validation/error checking in webgl (when not on Win)

This commit is contained in:
Moonchild 2023-11-23 14:05:37 +01:00 committed by roytam1
commit acd204e85e
3 changed files with 16 additions and 3 deletions

View file

@ -676,9 +676,11 @@ WebGLContext::CreateAndInitGL(bool forceEnabled,
std::vector<FailureReason>* const out_failReasons)
{
const gl::SurfaceCaps baseCaps = BaseCaps(mOptions, this);
gl::CreateContextFlags flags = gl::CreateContextFlags::NO_VALIDATION;
bool tryNativeGL = true;
bool tryANGLE = false;
gl::CreateContextFlags flags = gl::CreateContextFlags::NONE;
if (Preferences::GetBool("webgl.gl_khr_no_validation", false)) {
flags |= gl::CreateContextFlags::NO_VALIDATION;
}
if (forceEnabled) {
flags |= gl::CreateContextFlags::FORCE_ENABLE_HARDWARE;
@ -694,6 +696,9 @@ WebGLContext::CreateAndInitGL(bool forceEnabled,
const bool useEGL = PR_GetEnv("MOZ_WEBGL_FORCE_EGL");
bool tryNativeGL = true;
bool tryANGLE = false;
#ifdef XP_WIN
tryNativeGL = false;
tryANGLE = true;

View file

@ -2188,6 +2188,7 @@ WebGLTexture::CopyTexImage2D(TexImageTarget target, GLint level, GLenum internal
srcTotalWidth, srcTotalHeight, srcUsage, 0, 0, 0, width,
height, dstUsage))
{
Truncate();
return;
}

View file

@ -4338,6 +4338,13 @@ pref("webgl.dxgl.enabled", true);
pref("webgl.dxgl.needs-finish", false);
#endif
// Disable ANGLE's validation layer?
#ifdef XP_WIN
pref("webgl.gl_khr_no_validation", true);
#else
pref("webgl.gl_khr_no_validation", false);
#endif
pref("gfx.offscreencanvas.enabled", false);
// Stagefright prefs