function mapWebGLBlendModesToPixi(gl, array) {
    if (array === void 0) { array = []; }
    // TODO - premultiply alpha would be different.
    // add a boolean for that!
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.NORMAL] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.ADD] = [gl.ONE, gl.ONE];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.MULTIPLY] = [gl.DST_COLOR, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SCREEN] = [gl.ONE, gl.ONE_MINUS_SRC_COLOR, gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.OVERLAY] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.DARKEN] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.LIGHTEN] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.COLOR_DODGE] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.COLOR_BURN] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.HARD_LIGHT] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SOFT_LIGHT] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.DIFFERENCE] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.EXCLUSION] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.HUE] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SATURATION] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.COLOR] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.LUMINOSITY] = [gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.NONE] = [0, 0];
    // not-premultiplied blend modes
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.NORMAL_NPM] = [gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.ADD_NPM] = [gl.SRC_ALPHA, gl.ONE, gl.ONE, gl.ONE];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SCREEN_NPM] = [gl.SRC_ALPHA, gl.ONE_MINUS_SRC_COLOR, gl.ONE, gl.ONE_MINUS_SRC_ALPHA];
    // composite operations
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SRC_IN] = [gl.DST_ALPHA, gl.ZERO];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SRC_OUT] = [gl.ONE_MINUS_DST_ALPHA, gl.ZERO];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SRC_ATOP] = [gl.DST_ALPHA, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.DST_OVER] = [gl.ONE_MINUS_DST_ALPHA, gl.ONE];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.DST_IN] = [gl.ZERO, gl.SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.DST_OUT] = [gl.ZERO, gl.ONE_MINUS_SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.DST_ATOP] = [gl.ONE_MINUS_DST_ALPHA, gl.SRC_ALPHA];
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.XOR] = [gl.ONE_MINUS_DST_ALPHA, gl.ONE_MINUS_SRC_ALPHA];
    // SUBTRACT from flash
    array[_pixi_constants__WEBPACK_IMPORTED_MODULE_1__.BLEND_MODES.SUBTRACT] = [gl.ONE, gl.ONE, gl.ONE, gl.ONE, gl.FUNC_REVERSE_SUBTRACT, gl.FUNC_ADD];
    return array;
}
Maps gl blend combinations to WebGL.
@memberof PIXI
@function mapWebGLBlendModesToPixi
@private
@param {WebGLRenderingContext} gl - The rendering context.
@param {number[][]} [array=[]] - The array to output into.
@returns {number[][]} Mapped modes.