MCPcopy Create free account
hub / github.com/microsoft/SandDance / queryFeature

Function queryFeature

docs/app/js/sanddance-app.js:64120–64150  ·  view source on GitHub ↗
(gl, cap)

Source from the content-addressed store, hash-verified

64118 return gl.luma.caps[cap];
64119}
64120function queryFeature(gl, cap) {
64121 var feature = (0, _webglFeaturesTableDefault.default)[cap];
64122 (0, _utils.assert)(feature, cap);
64123 var isSupported;
64124 var featureDefinition = (0, _gltools.isWebGL2)(gl) ? feature[1] || feature[0] : feature[0];
64125 if (typeof featureDefinition === "function") isSupported = featureDefinition(gl);
64126 else if (Array.isArray(featureDefinition)) {
64127 isSupported = true;
64128 var _iteratorNormalCompletion = true;
64129 var _didIteratorError = false;
64130 var _iteratorError = undefined;
64131 try {
64132 for(var _iterator = featureDefinition[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
64133 var extension = _step.value;
64134 isSupported = isSupported && Boolean(gl.getExtension(extension));
64135 }
64136 } catch (err) {
64137 _didIteratorError = true;
64138 _iteratorError = err;
64139 } finally{
64140 try {
64141 if (!_iteratorNormalCompletion && _iterator["return"] != null) _iterator["return"]();
64142 } finally{
64143 if (_didIteratorError) throw _iteratorError;
64144 }
64145 }
64146 } else if (typeof featureDefinition === "string") isSupported = Boolean(gl.getExtension(featureDefinition));
64147 else if (typeof featureDefinition === "boolean") isSupported = featureDefinition;
64148 else (0, _utils.assert)(false);
64149 return isSupported;
64150}
64151
64152},{"./webgl-features-table":"fx1cc","@luma.gl/gltools":"7HW6a","../utils":"eK1k6","@parcel/transformer-js/src/esmodule-helpers.js":"jA2du"}],"bcNND":[function(require,module,exports) {
64153var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");

Callers 1

isFeatureSupportedFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected