@pixi/utils
Version:
Collection of utilities used by PixiJS
1 lines • 2.66 kB
Source Map (JSON)
{"version":3,"file":"isWebGLSupported.mjs","sources":["../../src/browser/isWebGLSupported.ts"],"sourcesContent":["import { settings } from '../settings';\n\nlet supported: boolean | undefined;\n\n/**\n * Helper for checking for WebGL support.\n * @memberof PIXI.utils\n * @function isWebGLSupported\n * @returns {boolean} Is WebGL supported.\n */\nexport function isWebGLSupported(): boolean\n{\n if (typeof supported === 'undefined')\n {\n supported = (function supported(): boolean\n {\n const contextOptions = {\n stencil: true,\n failIfMajorPerformanceCaveat: settings.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT,\n };\n\n try\n {\n if (!settings.ADAPTER.getWebGLRenderingContext())\n {\n return false;\n }\n\n const canvas = settings.ADAPTER.createCanvas();\n let gl = (\n canvas.getContext('webgl', contextOptions)\n || canvas.getContext('experimental-webgl', contextOptions)\n ) as WebGLRenderingContext | null;\n\n const success = !!gl?.getContextAttributes()?.stencil;\n\n if (gl)\n {\n const loseContext = gl.getExtension('WEBGL_lose_context');\n\n if (loseContext)\n {\n loseContext.loseContext();\n }\n }\n\n gl = null;\n\n return success;\n }\n catch (e)\n {\n return false;\n }\n })();\n }\n\n return supported;\n}\n"],"names":[],"mappings":";;;AAEA,IAAI,SAAA,CAAA;AASJ,SAAA,gBAAA,GAAA;AACI,EAAI,IAAA,OAAO,cAAc,WACzB,EAAA;AACI,IAAA,SAAA,GAAa,SACb,UAAA,GAAA;AACI,MAAA,MAAM,cAAiB,GAAA;AAAA,QACnB,OAAS,EAAA,IAAA;AAAA,QACT,8BAA8B,QAAS,CAAA,gCAAA;AAAA,OAC3C,CAAA;AAEA,MACA,IAAA;AACI,QAAA,IAAI,CAAC,QAAA,CAAS,OAAQ,CAAA,wBAAA,EACtB,EAAA;AACI,UAAO,OAAA,KAAA,CAAA;AAAA,SACX;AAEA,QAAM,MAAA,MAAA,GAAS,QAAS,CAAA,OAAA,CAAQ,YAAa,EAAA,CAAA;AAC7C,QAAI,IAAA,EAAA,GACA,OAAO,UAAW,CAAA,OAAA,EAAS,cAAc,CACtC,IAAA,MAAA,CAAO,UAAW,CAAA,oBAAA,EAAsB,cAAc,CAAA,CAAA;AAG7D,QAAA,MAAM,OAAU,GAAA,CAAC,CAAC,EAAA,EAAI,sBAAwB,EAAA,OAAA,CAAA;AAE9C,QAAA,IAAI,EACJ,EAAA;AACI,UAAM,MAAA,WAAA,GAAc,EAAG,CAAA,YAAA,CAAa,oBAAoB,CAAA,CAAA;AAExD,UAAA,IAAI,WACJ,EAAA;AACI,YAAA,WAAA,CAAY,WAAY,EAAA,CAAA;AAAA,WAC5B;AAAA,SACJ;AAEA,QAAK,EAAA,GAAA,IAAA,CAAA;AAEL,QAAO,OAAA,OAAA,CAAA;AAAA,eAEJ,CAAP,EAAA;AAEI,QAAO,OAAA,KAAA,CAAA;AAAA,OACX;AAAA,KACD,EAAA,CAAA;AAAA,GACP;AAEA,EAAO,OAAA,SAAA,CAAA;AACX;;;;"}