diff --git a/src/index.ts b/src/index.ts index 5fbaf0d..e8a0edd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -287,11 +287,11 @@ export const getGPUTier = async ({ return toResult(0, 'WEBGL_UNSUPPORTED'); } - const debugRendererInfo = gl.getExtension('WEBGL_debug_renderer_info'); + const debugRendererInfo = deviceInfo?.isFirefox ? null : gl.getExtension('WEBGL_debug_renderer_info'); - if (debugRendererInfo) { - renderer = gl.getParameter(debugRendererInfo.UNMASKED_RENDERER_WEBGL); - } + renderer = debugRendererInfo + ? gl.getParameter(debugRendererInfo.UNMASKED_RENDERER_WEBGL) + : gl.getParameter(gl.RENDERER); if (!renderer) { return toResult(1, 'FALLBACK'); diff --git a/src/internal/deviceInfo.ts b/src/internal/deviceInfo.ts index 5b39d26..2c32a1a 100644 --- a/src/internal/deviceInfo.ts +++ b/src/internal/deviceInfo.ts @@ -23,5 +23,6 @@ export const deviceInfo = (() => { isIpad, isMobile: isAndroid || isIOS || isIpad, isSafari12: /Version\/12.+Safari/.test(userAgent), + isFirefox: /Firefox/.test(userAgent) }; })();