shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$utils$generateUniformsSync = function(global, require, module, exports) {
  var BufferResource = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$buffer$BufferResource"), UniformGroup = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$UniformGroup"), uniformParsers = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$utils$uniformParsers"), generateUniformsSyncTypes = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$utils$generateUniformsSyncTypes");
  "use strict";
  exports.generateUniformsSync = function(group, uniformData) {
    const funcFragments = ["\n        var v \x3d null;\n        var cv \x3d null;\n        var cu \x3d null;\n        var t \x3d 0;\n        var gl \x3d renderer.gl;\n        var name \x3d null;\n    "];
    for (const i in group.uniforms) {
      if (!uniformData[i]) {
        group.uniforms[i] instanceof UniformGroup.UniformGroup ? group.uniforms[i].ubo ? funcFragments.push(`
                        renderer.shader.bindUniformBlock(uv.${i}, "${i}");
                    `) : funcFragments.push(`
                        renderer.shader.updateUniformGroup(uv.${i});
                    `) : group.uniforms[i] instanceof BufferResource.BufferResource && funcFragments.push(`
                        renderer.shader.bindBufferResource(uv.${i}, "${i}");
                    `);
        continue;
      }
      var uniform = group.uniformStructures[i];
      let parsed = !1;
      for (let j = 0; j < uniformParsers.uniformParsers.length; j++) {
        const parser = uniformParsers.uniformParsers[j];
        if (uniform.type === parser.type && parser.test(uniform)) {
          funcFragments.push(`name = "${i}";`, uniformParsers.uniformParsers[j].uniform);
          parsed = !0;
          break;
        }
      }
      parsed || (uniform = (1 === uniform.size ? generateUniformsSyncTypes.UNIFORM_TO_SINGLE_SETTERS : generateUniformsSyncTypes.UNIFORM_TO_ARRAY_SETTERS)[uniform.type].replace("location", `ud["${i}"].location`), funcFragments.push(`
            cu = ud["${i}"];
            cv = cu.value;
            v = uv["${i}"];
            ${uniform};`));
    }
    return new Function("ud", "uv", "renderer", "syncData", funcFragments.join("\n"));
  };
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$utils$generateUniformsSync.js.map
