{"version":3,"sources":["node_modules/@arcgis/core/views/webgl/capabilities.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { getContextTypes as t, ContextType as e, createContext as r } from \"./contextUtils.js\";\nlet s, o;\nfunction n(e) {\n const r = t(e);\n for (; r.length > 1;) {\n const t = l(r.shift());\n if (t.available) return t;\n }\n return l(r.shift());\n}\nfunction l(t) {\n switch (t) {\n case e.WEBGL1:\n return a();\n case e.WEBGL2:\n return u();\n }\n}\nfunction a() {\n return s || (s = E()), s;\n}\nfunction u() {\n return o || (o = _()), o;\n}\nclass i {\n constructor() {\n this.available = !1, this.majorPerformanceCaveat = !1, this.maxTextureSize = 0, this.supportsVertexShaderSamplers = !1, this.supportsHighPrecisionFragment = !1, this.supportsElementIndexUint = !1, this.supportsStandardDerivatives = !1, this.supportsInstancedArrays = !1, this.supportsTextureFloat = !1, this.supportsTextureHalfFloat = !1, this.supportsColorBufferFloat = !1, this.supportsColorBufferFloatBlend = !1, this.supportsColorBufferHalfFloat = !1;\n }\n}\nclass f extends i {\n constructor() {\n super(...arguments), this.type = e.WEBGL1;\n }\n}\nclass p extends i {\n constructor() {\n super(...arguments), this.type = e.WEBGL2, this.supportsElementIndexUint = !0, this.supportsStandardDerivatives = !0, this.supportsInstancedArrays = !0, this.supportsTextureFloat = !0, this.supportsTextureHalfFloat = !0;\n }\n}\nfunction c(t, s) {\n if (t === e.WEBGL1 && \"undefined\" == typeof WebGLRenderingContext || t === e.WEBGL2 && \"undefined\" == typeof WebGL2RenderingContext) return null;\n const o = document.createElement(\"canvas\");\n if (!o) return null;\n let n = r(o, t, {\n failIfMajorPerformanceCaveat: !0\n });\n if (null == n && (n = r(o, t), null != n && (s.majorPerformanceCaveat = !0)), null == n) return n;\n if (t === e.WEBGL1) {\n const t = n.getParameter(n.VERSION),\n e = t?.match(/^WebGL\\s+([\\d.]*)/);\n if (e) {\n const t = parseFloat(e[1]);\n s.available = t >= .94;\n }\n } else s.available = !0;\n s.maxTextureSize = n.getParameter(n.MAX_TEXTURE_SIZE), s.supportsVertexShaderSamplers = n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS) > 0;\n const l = n.getShaderPrecisionFormat(n.FRAGMENT_SHADER, n.HIGH_FLOAT);\n return l && (s.supportsHighPrecisionFragment = l.precision > 0), n;\n}\nfunction E() {\n const t = new f(),\n r = c(e.WEBGL1, t);\n return null == r || (t.supportsElementIndexUint = null !== r.getExtension(\"OES_element_index_uint\"), t.supportsStandardDerivatives = null !== r.getExtension(\"OES_standard_derivatives\"), t.supportsInstancedArrays = null !== r.getExtension(\"ANGLE_instanced_arrays\"), t.supportsTextureFloat = null !== r.getExtension(\"OES_texture_float\"), t.supportsTextureHalfFloat = null !== r.getExtension(\"OES_texture_half_float\"), t.supportsColorBufferFloat = null !== r.getExtension(\"WEBGL_color_buffer_float\"), t.supportsColorBufferFloatBlend = null !== r.getExtension(\"EXT_float_blend\"), t.supportsColorBufferHalfFloat = null !== r.getExtension(\"EXT_color_buffer_half_float\")), t;\n}\nfunction _() {\n const t = new p(),\n r = c(e.WEBGL2, t);\n return null == r || (t.supportsColorBufferFloat = null !== r.getExtension(\"EXT_color_buffer_float\"), t.supportsColorBufferFloatBlend = null !== r.getExtension(\"EXT_float_blend\"), t.supportsColorBufferHalfFloat = t.supportsColorBufferFloat || null !== r.getExtension(\"EXT_color_buffer_half_float\")), t;\n}\nexport { a as getWebGL1Capabilities, u as getWebGL2Capabilities, n as getWebGLCapabilities, l as getWebGLVersionCapabilities };"],"mappings":"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","names":["o","n","r","s","t","l"],"x_google_ignoreList":[0]}