sdfsdfs
This commit is contained in:
23
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.d.ts
generated
vendored
Normal file
23
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.d.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import { ExtensionType } from '../../../extensions/Extensions';
|
||||
import type { Geometry } from '../../renderers/shared/geometry/Geometry';
|
||||
import type { Shader } from '../../renderers/shared/shader/Shader';
|
||||
import type { Batch } from '../shared/Batcher';
|
||||
import type { BatcherAdaptor, BatcherPipe } from '../shared/BatcherPipe';
|
||||
/**
|
||||
* A BatcherAdaptor that uses WebGL to render batches.
|
||||
* @memberof rendering
|
||||
* @ignore
|
||||
*/
|
||||
export declare class GlBatchAdaptor implements BatcherAdaptor {
|
||||
/** @ignore */
|
||||
static extension: {
|
||||
readonly type: readonly [ExtensionType.WebGLPipesAdaptor];
|
||||
readonly name: "batch";
|
||||
};
|
||||
private _didUpload;
|
||||
private readonly _tempState;
|
||||
init(batcherPipe: BatcherPipe): void;
|
||||
contextChange(): void;
|
||||
start(batchPipe: BatcherPipe, geometry: Geometry, shader: Shader): void;
|
||||
execute(batchPipe: BatcherPipe, batch: Batch): void;
|
||||
}
|
45
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.js
generated
vendored
Normal file
45
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
'use strict';
|
||||
|
||||
var Extensions = require('../../../extensions/Extensions.js');
|
||||
var State = require('../../renderers/shared/state/State.js');
|
||||
|
||||
"use strict";
|
||||
class GlBatchAdaptor {
|
||||
constructor() {
|
||||
this._didUpload = false;
|
||||
this._tempState = State.State.for2d();
|
||||
}
|
||||
init(batcherPipe) {
|
||||
batcherPipe.renderer.runners.contextChange.add(this);
|
||||
}
|
||||
contextChange() {
|
||||
this._didUpload = false;
|
||||
}
|
||||
start(batchPipe, geometry, shader) {
|
||||
const renderer = batchPipe.renderer;
|
||||
renderer.shader.bind(shader, this._didUpload);
|
||||
renderer.shader.updateUniformGroup(renderer.globalUniforms.uniformGroup);
|
||||
renderer.geometry.bind(geometry, shader.glProgram);
|
||||
}
|
||||
execute(batchPipe, batch) {
|
||||
const renderer = batchPipe.renderer;
|
||||
this._didUpload = true;
|
||||
this._tempState.blendMode = batch.blendMode;
|
||||
renderer.state.set(this._tempState);
|
||||
const textures = batch.textures.textures;
|
||||
for (let i = 0; i < batch.textures.count; i++) {
|
||||
renderer.texture.bind(textures[i], i);
|
||||
}
|
||||
renderer.geometry.draw("triangle-list", batch.size, batch.start);
|
||||
}
|
||||
}
|
||||
/** @ignore */
|
||||
GlBatchAdaptor.extension = {
|
||||
type: [
|
||||
Extensions.ExtensionType.WebGLPipesAdaptor
|
||||
],
|
||||
name: "batch"
|
||||
};
|
||||
|
||||
exports.GlBatchAdaptor = GlBatchAdaptor;
|
||||
//# sourceMappingURL=GlBatchAdaptor.js.map
|
1
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.js.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"GlBatchAdaptor.js","sources":["../../../../src/rendering/batcher/gl/GlBatchAdaptor.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\nimport { State } from '../../renderers/shared/state/State';\n\nimport type { WebGLRenderer } from '../../renderers/gl/WebGLRenderer';\nimport type { Geometry } from '../../renderers/shared/geometry/Geometry';\nimport type { Shader } from '../../renderers/shared/shader/Shader';\nimport type { Batch } from '../shared/Batcher';\nimport type { BatcherAdaptor, BatcherPipe } from '../shared/BatcherPipe';\n\n/**\n * A BatcherAdaptor that uses WebGL to render batches.\n * @memberof rendering\n * @ignore\n */\nexport class GlBatchAdaptor implements BatcherAdaptor\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLPipesAdaptor,\n ],\n name: 'batch',\n } as const;\n\n private _didUpload = false;\n private readonly _tempState = State.for2d();\n\n public init(batcherPipe: BatcherPipe): void\n {\n batcherPipe.renderer.runners.contextChange.add(this);\n }\n\n public contextChange(): void\n {\n this._didUpload = false;\n }\n\n public start(batchPipe: BatcherPipe, geometry: Geometry, shader: Shader): void\n {\n const renderer = batchPipe.renderer as WebGLRenderer;\n\n // only want to sync the shade ron its first bind!\n renderer.shader.bind(shader, this._didUpload);\n\n renderer.shader.updateUniformGroup(renderer.globalUniforms.uniformGroup);\n\n renderer.geometry.bind(geometry, shader.glProgram);\n }\n\n public execute(batchPipe: BatcherPipe, batch: Batch): void\n {\n const renderer = batchPipe.renderer as WebGLRenderer;\n\n this._didUpload = true;\n\n this._tempState.blendMode = batch.blendMode;\n\n renderer.state.set(this._tempState);\n\n const textures = batch.textures.textures;\n\n for (let i = 0; i < batch.textures.count; i++)\n {\n renderer.texture.bind(textures[i], i);\n }\n\n renderer.geometry.draw('triangle-list', batch.size, batch.start);\n }\n}\n"],"names":["State","ExtensionType"],"mappings":";;;;;;AAcO,MAAM,cACb,CAAA;AAAA,EADO,WAAA,GAAA;AAUH,IAAA,IAAA,CAAQ,UAAa,GAAA,KAAA,CAAA;AACrB,IAAiB,IAAA,CAAA,UAAA,GAAaA,YAAM,KAAM,EAAA,CAAA;AAAA,GAAA;AAAA,EAEnC,KAAK,WACZ,EAAA;AACI,IAAA,WAAA,CAAY,QAAS,CAAA,OAAA,CAAQ,aAAc,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AAAA,GACvD;AAAA,EAEO,aACP,GAAA;AACI,IAAA,IAAA,CAAK,UAAa,GAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EAEO,KAAA,CAAM,SAAwB,EAAA,QAAA,EAAoB,MACzD,EAAA;AACI,IAAA,MAAM,WAAW,SAAU,CAAA,QAAA,CAAA;AAG3B,IAAA,QAAA,CAAS,MAAO,CAAA,IAAA,CAAK,MAAQ,EAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAE5C,IAAA,QAAA,CAAS,MAAO,CAAA,kBAAA,CAAmB,QAAS,CAAA,cAAA,CAAe,YAAY,CAAA,CAAA;AAEvE,IAAA,QAAA,CAAS,QAAS,CAAA,IAAA,CAAK,QAAU,EAAA,MAAA,CAAO,SAAS,CAAA,CAAA;AAAA,GACrD;AAAA,EAEO,OAAA,CAAQ,WAAwB,KACvC,EAAA;AACI,IAAA,MAAM,WAAW,SAAU,CAAA,QAAA,CAAA;AAE3B,IAAA,IAAA,CAAK,UAAa,GAAA,IAAA,CAAA;AAElB,IAAK,IAAA,CAAA,UAAA,CAAW,YAAY,KAAM,CAAA,SAAA,CAAA;AAElC,IAAS,QAAA,CAAA,KAAA,CAAM,GAAI,CAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,QAAA,GAAW,MAAM,QAAS,CAAA,QAAA,CAAA;AAEhC,IAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,KAAM,CAAA,QAAA,CAAS,OAAO,CAC1C,EAAA,EAAA;AACI,MAAA,QAAA,CAAS,OAAQ,CAAA,IAAA,CAAK,QAAS,CAAA,CAAC,GAAG,CAAC,CAAA,CAAA;AAAA,KACxC;AAEA,IAAA,QAAA,CAAS,SAAS,IAAK,CAAA,eAAA,EAAiB,KAAM,CAAA,IAAA,EAAM,MAAM,KAAK,CAAA,CAAA;AAAA,GACnE;AACJ,CAAA;AAAA;AAtDa,cAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACFC,wBAAc,CAAA,iBAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,OAAA;AACV,CAAA;;;;"}
|
43
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.mjs
generated
vendored
Normal file
43
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.mjs
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
import { ExtensionType } from '../../../extensions/Extensions.mjs';
|
||||
import { State } from '../../renderers/shared/state/State.mjs';
|
||||
|
||||
"use strict";
|
||||
class GlBatchAdaptor {
|
||||
constructor() {
|
||||
this._didUpload = false;
|
||||
this._tempState = State.for2d();
|
||||
}
|
||||
init(batcherPipe) {
|
||||
batcherPipe.renderer.runners.contextChange.add(this);
|
||||
}
|
||||
contextChange() {
|
||||
this._didUpload = false;
|
||||
}
|
||||
start(batchPipe, geometry, shader) {
|
||||
const renderer = batchPipe.renderer;
|
||||
renderer.shader.bind(shader, this._didUpload);
|
||||
renderer.shader.updateUniformGroup(renderer.globalUniforms.uniformGroup);
|
||||
renderer.geometry.bind(geometry, shader.glProgram);
|
||||
}
|
||||
execute(batchPipe, batch) {
|
||||
const renderer = batchPipe.renderer;
|
||||
this._didUpload = true;
|
||||
this._tempState.blendMode = batch.blendMode;
|
||||
renderer.state.set(this._tempState);
|
||||
const textures = batch.textures.textures;
|
||||
for (let i = 0; i < batch.textures.count; i++) {
|
||||
renderer.texture.bind(textures[i], i);
|
||||
}
|
||||
renderer.geometry.draw("triangle-list", batch.size, batch.start);
|
||||
}
|
||||
}
|
||||
/** @ignore */
|
||||
GlBatchAdaptor.extension = {
|
||||
type: [
|
||||
ExtensionType.WebGLPipesAdaptor
|
||||
],
|
||||
name: "batch"
|
||||
};
|
||||
|
||||
export { GlBatchAdaptor };
|
||||
//# sourceMappingURL=GlBatchAdaptor.mjs.map
|
1
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.mjs.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"GlBatchAdaptor.mjs","sources":["../../../../src/rendering/batcher/gl/GlBatchAdaptor.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\nimport { State } from '../../renderers/shared/state/State';\n\nimport type { WebGLRenderer } from '../../renderers/gl/WebGLRenderer';\nimport type { Geometry } from '../../renderers/shared/geometry/Geometry';\nimport type { Shader } from '../../renderers/shared/shader/Shader';\nimport type { Batch } from '../shared/Batcher';\nimport type { BatcherAdaptor, BatcherPipe } from '../shared/BatcherPipe';\n\n/**\n * A BatcherAdaptor that uses WebGL to render batches.\n * @memberof rendering\n * @ignore\n */\nexport class GlBatchAdaptor implements BatcherAdaptor\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLPipesAdaptor,\n ],\n name: 'batch',\n } as const;\n\n private _didUpload = false;\n private readonly _tempState = State.for2d();\n\n public init(batcherPipe: BatcherPipe): void\n {\n batcherPipe.renderer.runners.contextChange.add(this);\n }\n\n public contextChange(): void\n {\n this._didUpload = false;\n }\n\n public start(batchPipe: BatcherPipe, geometry: Geometry, shader: Shader): void\n {\n const renderer = batchPipe.renderer as WebGLRenderer;\n\n // only want to sync the shade ron its first bind!\n renderer.shader.bind(shader, this._didUpload);\n\n renderer.shader.updateUniformGroup(renderer.globalUniforms.uniformGroup);\n\n renderer.geometry.bind(geometry, shader.glProgram);\n }\n\n public execute(batchPipe: BatcherPipe, batch: Batch): void\n {\n const renderer = batchPipe.renderer as WebGLRenderer;\n\n this._didUpload = true;\n\n this._tempState.blendMode = batch.blendMode;\n\n renderer.state.set(this._tempState);\n\n const textures = batch.textures.textures;\n\n for (let i = 0; i < batch.textures.count; i++)\n {\n renderer.texture.bind(textures[i], i);\n }\n\n renderer.geometry.draw('triangle-list', batch.size, batch.start);\n }\n}\n"],"names":[],"mappings":";;;;AAcO,MAAM,cACb,CAAA;AAAA,EADO,WAAA,GAAA;AAUH,IAAA,IAAA,CAAQ,UAAa,GAAA,KAAA,CAAA;AACrB,IAAiB,IAAA,CAAA,UAAA,GAAa,MAAM,KAAM,EAAA,CAAA;AAAA,GAAA;AAAA,EAEnC,KAAK,WACZ,EAAA;AACI,IAAA,WAAA,CAAY,QAAS,CAAA,OAAA,CAAQ,aAAc,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AAAA,GACvD;AAAA,EAEO,aACP,GAAA;AACI,IAAA,IAAA,CAAK,UAAa,GAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EAEO,KAAA,CAAM,SAAwB,EAAA,QAAA,EAAoB,MACzD,EAAA;AACI,IAAA,MAAM,WAAW,SAAU,CAAA,QAAA,CAAA;AAG3B,IAAA,QAAA,CAAS,MAAO,CAAA,IAAA,CAAK,MAAQ,EAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAE5C,IAAA,QAAA,CAAS,MAAO,CAAA,kBAAA,CAAmB,QAAS,CAAA,cAAA,CAAe,YAAY,CAAA,CAAA;AAEvE,IAAA,QAAA,CAAS,QAAS,CAAA,IAAA,CAAK,QAAU,EAAA,MAAA,CAAO,SAAS,CAAA,CAAA;AAAA,GACrD;AAAA,EAEO,OAAA,CAAQ,WAAwB,KACvC,EAAA;AACI,IAAA,MAAM,WAAW,SAAU,CAAA,QAAA,CAAA;AAE3B,IAAA,IAAA,CAAK,UAAa,GAAA,IAAA,CAAA;AAElB,IAAK,IAAA,CAAA,UAAA,CAAW,YAAY,KAAM,CAAA,SAAA,CAAA;AAElC,IAAS,QAAA,CAAA,KAAA,CAAM,GAAI,CAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,QAAA,GAAW,MAAM,QAAS,CAAA,QAAA,CAAA;AAEhC,IAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,KAAM,CAAA,QAAA,CAAS,OAAO,CAC1C,EAAA,EAAA;AACI,MAAA,QAAA,CAAS,OAAQ,CAAA,IAAA,CAAK,QAAS,CAAA,CAAC,GAAG,CAAC,CAAA,CAAA;AAAA,KACxC;AAEA,IAAA,QAAA,CAAS,SAAS,IAAK,CAAA,eAAA,EAAiB,KAAM,CAAA,IAAA,EAAM,MAAM,KAAK,CAAA,CAAA;AAAA,GACnE;AACJ,CAAA;AAAA;AAtDa,cAAA,CAGK,SAAY,GAAA;AAAA,EACtB,IAAM,EAAA;AAAA,IACF,aAAc,CAAA,iBAAA;AAAA,GAClB;AAAA,EACA,IAAM,EAAA,OAAA;AACV,CAAA;;;;"}
|
2
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.d.ts
generated
vendored
Normal file
2
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import type { GlRenderingContext } from '../../../renderers/gl/context/GlRenderingContext';
|
||||
export declare function checkMaxIfStatementsInShader(maxIfs: number, gl: GlRenderingContext): number;
|
47
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.js
generated
vendored
Normal file
47
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
'use strict';
|
||||
|
||||
"use strict";
|
||||
const fragTemplate = [
|
||||
"precision mediump float;",
|
||||
"void main(void){",
|
||||
"float test = 0.1;",
|
||||
"%forloop%",
|
||||
"gl_FragColor = vec4(0.0);",
|
||||
"}"
|
||||
].join("\n");
|
||||
function generateIfTestSrc(maxIfs) {
|
||||
let src = "";
|
||||
for (let i = 0; i < maxIfs; ++i) {
|
||||
if (i > 0) {
|
||||
src += "\nelse ";
|
||||
}
|
||||
if (i < maxIfs - 1) {
|
||||
src += `if(test == ${i}.0){}`;
|
||||
}
|
||||
}
|
||||
return src;
|
||||
}
|
||||
function checkMaxIfStatementsInShader(maxIfs, gl) {
|
||||
if (maxIfs === 0) {
|
||||
throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");
|
||||
}
|
||||
const shader = gl.createShader(gl.FRAGMENT_SHADER);
|
||||
try {
|
||||
while (true) {
|
||||
const fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs));
|
||||
gl.shaderSource(shader, fragmentSrc);
|
||||
gl.compileShader(shader);
|
||||
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
||||
maxIfs = maxIfs / 2 | 0;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
gl.deleteShader(shader);
|
||||
}
|
||||
return maxIfs;
|
||||
}
|
||||
|
||||
exports.checkMaxIfStatementsInShader = checkMaxIfStatementsInShader;
|
||||
//# sourceMappingURL=checkMaxIfStatementsInShader.js.map
|
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.js.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"checkMaxIfStatementsInShader.js","sources":["../../../../../src/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.ts"],"sourcesContent":["import type { GlRenderingContext } from '../../../renderers/gl/context/GlRenderingContext';\n\nconst fragTemplate = [\n 'precision mediump float;',\n 'void main(void){',\n 'float test = 0.1;',\n '%forloop%',\n 'gl_FragColor = vec4(0.0);',\n '}',\n].join('\\n');\n\nfunction generateIfTestSrc(maxIfs: number): string\n{\n let src = '';\n\n for (let i = 0; i < maxIfs; ++i)\n {\n if (i > 0)\n {\n src += '\\nelse ';\n }\n\n if (i < maxIfs - 1)\n {\n src += `if(test == ${i}.0){}`;\n }\n }\n\n return src;\n}\n\nexport function checkMaxIfStatementsInShader(maxIfs: number, gl: GlRenderingContext): number\n{\n if (maxIfs === 0)\n {\n throw new Error('Invalid value of `0` passed to `checkMaxIfStatementsInShader`');\n }\n\n const shader = gl.createShader(gl.FRAGMENT_SHADER);\n\n try\n {\n while (true) // eslint-disable-line no-constant-condition\n {\n const fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs));\n\n gl.shaderSource(shader, fragmentSrc);\n gl.compileShader(shader);\n\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS))\n {\n maxIfs = (maxIfs / 2) | 0;\n }\n else\n {\n // valid!\n break;\n }\n }\n }\n finally\n {\n gl.deleteShader(shader);\n }\n\n return maxIfs;\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,YAAe,GAAA;AAAA,EACjB,0BAAA;AAAA,EACA,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA,WAAA;AAAA,EACA,2BAAA;AAAA,EACA,GAAA;AACJ,CAAA,CAAE,KAAK,IAAI,CAAA,CAAA;AAEX,SAAS,kBAAkB,MAC3B,EAAA;AACI,EAAA,IAAI,GAAM,GAAA,EAAA,CAAA;AAEV,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,MAAA,EAAQ,EAAE,CAC9B,EAAA;AACI,IAAA,IAAI,IAAI,CACR,EAAA;AACI,MAAO,GAAA,IAAA,SAAA,CAAA;AAAA,KACX;AAEA,IAAI,IAAA,CAAA,GAAI,SAAS,CACjB,EAAA;AACI,MAAA,GAAA,IAAO,cAAc,CAAC,CAAA,KAAA,CAAA,CAAA;AAAA,KAC1B;AAAA,GACJ;AAEA,EAAO,OAAA,GAAA,CAAA;AACX,CAAA;AAEgB,SAAA,4BAAA,CAA6B,QAAgB,EAC7D,EAAA;AACI,EAAA,IAAI,WAAW,CACf,EAAA;AACI,IAAM,MAAA,IAAI,MAAM,+DAA+D,CAAA,CAAA;AAAA,GACnF;AAEA,EAAA,MAAM,MAAS,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,eAAe,CAAA,CAAA;AAEjD,EACA,IAAA;AACI,IAAA,OAAO,IACP,EAAA;AACI,MAAA,MAAM,cAAc,YAAa,CAAA,OAAA,CAAQ,aAAe,EAAA,iBAAA,CAAkB,MAAM,CAAC,CAAA,CAAA;AAEjF,MAAG,EAAA,CAAA,YAAA,CAAa,QAAQ,WAAW,CAAA,CAAA;AACnC,MAAA,EAAA,CAAG,cAAc,MAAM,CAAA,CAAA;AAEvB,MAAA,IAAI,CAAC,EAAG,CAAA,kBAAA,CAAmB,MAAQ,EAAA,EAAA,CAAG,cAAc,CACpD,EAAA;AACI,QAAA,MAAA,GAAU,SAAS,CAAK,GAAA,CAAA,CAAA;AAAA,OAG5B,MAAA;AAEI,QAAA,MAAA;AAAA,OACJ;AAAA,KACJ;AAAA,GAEJ,SAAA;AAEI,IAAA,EAAA,CAAG,aAAa,MAAM,CAAA,CAAA;AAAA,GAC1B;AAEA,EAAO,OAAA,MAAA,CAAA;AACX;;;;"}
|
45
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.mjs
generated
vendored
Normal file
45
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.mjs
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
"use strict";
|
||||
const fragTemplate = [
|
||||
"precision mediump float;",
|
||||
"void main(void){",
|
||||
"float test = 0.1;",
|
||||
"%forloop%",
|
||||
"gl_FragColor = vec4(0.0);",
|
||||
"}"
|
||||
].join("\n");
|
||||
function generateIfTestSrc(maxIfs) {
|
||||
let src = "";
|
||||
for (let i = 0; i < maxIfs; ++i) {
|
||||
if (i > 0) {
|
||||
src += "\nelse ";
|
||||
}
|
||||
if (i < maxIfs - 1) {
|
||||
src += `if(test == ${i}.0){}`;
|
||||
}
|
||||
}
|
||||
return src;
|
||||
}
|
||||
function checkMaxIfStatementsInShader(maxIfs, gl) {
|
||||
if (maxIfs === 0) {
|
||||
throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");
|
||||
}
|
||||
const shader = gl.createShader(gl.FRAGMENT_SHADER);
|
||||
try {
|
||||
while (true) {
|
||||
const fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs));
|
||||
gl.shaderSource(shader, fragmentSrc);
|
||||
gl.compileShader(shader);
|
||||
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
||||
maxIfs = maxIfs / 2 | 0;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
gl.deleteShader(shader);
|
||||
}
|
||||
return maxIfs;
|
||||
}
|
||||
|
||||
export { checkMaxIfStatementsInShader };
|
||||
//# sourceMappingURL=checkMaxIfStatementsInShader.mjs.map
|
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.mjs.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"checkMaxIfStatementsInShader.mjs","sources":["../../../../../src/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.ts"],"sourcesContent":["import type { GlRenderingContext } from '../../../renderers/gl/context/GlRenderingContext';\n\nconst fragTemplate = [\n 'precision mediump float;',\n 'void main(void){',\n 'float test = 0.1;',\n '%forloop%',\n 'gl_FragColor = vec4(0.0);',\n '}',\n].join('\\n');\n\nfunction generateIfTestSrc(maxIfs: number): string\n{\n let src = '';\n\n for (let i = 0; i < maxIfs; ++i)\n {\n if (i > 0)\n {\n src += '\\nelse ';\n }\n\n if (i < maxIfs - 1)\n {\n src += `if(test == ${i}.0){}`;\n }\n }\n\n return src;\n}\n\nexport function checkMaxIfStatementsInShader(maxIfs: number, gl: GlRenderingContext): number\n{\n if (maxIfs === 0)\n {\n throw new Error('Invalid value of `0` passed to `checkMaxIfStatementsInShader`');\n }\n\n const shader = gl.createShader(gl.FRAGMENT_SHADER);\n\n try\n {\n while (true) // eslint-disable-line no-constant-condition\n {\n const fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs));\n\n gl.shaderSource(shader, fragmentSrc);\n gl.compileShader(shader);\n\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS))\n {\n maxIfs = (maxIfs / 2) | 0;\n }\n else\n {\n // valid!\n break;\n }\n }\n }\n finally\n {\n gl.deleteShader(shader);\n }\n\n return maxIfs;\n}\n"],"names":[],"mappings":";AAEA,MAAM,YAAe,GAAA;AAAA,EACjB,0BAAA;AAAA,EACA,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA,WAAA;AAAA,EACA,2BAAA;AAAA,EACA,GAAA;AACJ,CAAA,CAAE,KAAK,IAAI,CAAA,CAAA;AAEX,SAAS,kBAAkB,MAC3B,EAAA;AACI,EAAA,IAAI,GAAM,GAAA,EAAA,CAAA;AAEV,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,MAAA,EAAQ,EAAE,CAC9B,EAAA;AACI,IAAA,IAAI,IAAI,CACR,EAAA;AACI,MAAO,GAAA,IAAA,SAAA,CAAA;AAAA,KACX;AAEA,IAAI,IAAA,CAAA,GAAI,SAAS,CACjB,EAAA;AACI,MAAA,GAAA,IAAO,cAAc,CAAC,CAAA,KAAA,CAAA,CAAA;AAAA,KAC1B;AAAA,GACJ;AAEA,EAAO,OAAA,GAAA,CAAA;AACX,CAAA;AAEgB,SAAA,4BAAA,CAA6B,QAAgB,EAC7D,EAAA;AACI,EAAA,IAAI,WAAW,CACf,EAAA;AACI,IAAM,MAAA,IAAI,MAAM,+DAA+D,CAAA,CAAA;AAAA,GACnF;AAEA,EAAA,MAAM,MAAS,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,eAAe,CAAA,CAAA;AAEjD,EACA,IAAA;AACI,IAAA,OAAO,IACP,EAAA;AACI,MAAA,MAAM,cAAc,YAAa,CAAA,OAAA,CAAQ,aAAe,EAAA,iBAAA,CAAkB,MAAM,CAAC,CAAA,CAAA;AAEjF,MAAG,EAAA,CAAA,YAAA,CAAa,QAAQ,WAAW,CAAA,CAAA;AACnC,MAAA,EAAA,CAAG,cAAc,MAAM,CAAA,CAAA;AAEvB,MAAA,IAAI,CAAC,EAAG,CAAA,kBAAA,CAAmB,MAAQ,EAAA,EAAA,CAAG,cAAc,CACpD,EAAA;AACI,QAAA,MAAA,GAAU,SAAS,CAAK,GAAA,CAAA,CAAA;AAAA,OAG5B,MAAA;AAEI,QAAA,MAAA;AAAA,OACJ;AAAA,KACJ;AAAA,GAEJ,SAAA;AAEI,IAAA,EAAA,CAAG,aAAa,MAAM,CAAA,CAAA;AAAA,GAC1B;AAEA,EAAO,OAAA,MAAA,CAAA;AACX;;;;"}
|
8
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.d.ts
generated
vendored
Normal file
8
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Returns the maximum number of textures that can be batched. This uses WebGL1's `MAX_TEXTURE_IMAGE_UNITS`.
|
||||
* The response for this is that to get this info via WebGPU, we would need to make a context, which
|
||||
* would make this function async, and we want to avoid that.
|
||||
* @private
|
||||
* @returns {number} The maximum number of textures that can be batched
|
||||
*/
|
||||
export declare function getMaxTexturesPerBatch(): number;
|
22
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.js
generated
vendored
Normal file
22
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
var getTestContext = require('../../../renderers/gl/shader/program/getTestContext.js');
|
||||
var checkMaxIfStatementsInShader = require('./checkMaxIfStatementsInShader.js');
|
||||
|
||||
"use strict";
|
||||
let maxTexturesPerBatchCache = null;
|
||||
function getMaxTexturesPerBatch() {
|
||||
if (maxTexturesPerBatchCache)
|
||||
return maxTexturesPerBatchCache;
|
||||
const gl = getTestContext.getTestContext();
|
||||
maxTexturesPerBatchCache = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);
|
||||
maxTexturesPerBatchCache = checkMaxIfStatementsInShader.checkMaxIfStatementsInShader(
|
||||
maxTexturesPerBatchCache,
|
||||
gl
|
||||
);
|
||||
gl.getExtension("WEBGL_lose_context")?.loseContext();
|
||||
return maxTexturesPerBatchCache;
|
||||
}
|
||||
|
||||
exports.getMaxTexturesPerBatch = getMaxTexturesPerBatch;
|
||||
//# sourceMappingURL=maxRecommendedTextures.js.map
|
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.js.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"maxRecommendedTextures.js","sources":["../../../../../src/rendering/batcher/gl/utils/maxRecommendedTextures.ts"],"sourcesContent":["import { getTestContext } from '../../../renderers/gl/shader/program/getTestContext';\nimport { checkMaxIfStatementsInShader } from './checkMaxIfStatementsInShader';\n\nlet maxTexturesPerBatchCache: number | null = null;\n\n/**\n * Returns the maximum number of textures that can be batched. This uses WebGL1's `MAX_TEXTURE_IMAGE_UNITS`.\n * The response for this is that to get this info via WebGPU, we would need to make a context, which\n * would make this function async, and we want to avoid that.\n * @private\n * @returns {number} The maximum number of textures that can be batched\n */\nexport function getMaxTexturesPerBatch(): number\n{\n if (maxTexturesPerBatchCache) return maxTexturesPerBatchCache;\n\n const gl = getTestContext();\n\n // step 1: first check max textures the GPU can handle.\n maxTexturesPerBatchCache = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);\n\n // step 2: check the maximum number of if statements the shader can have too..\n maxTexturesPerBatchCache = checkMaxIfStatementsInShader(\n maxTexturesPerBatchCache, gl);\n\n gl.getExtension('WEBGL_lose_context')?.loseContext();\n\n return maxTexturesPerBatchCache;\n}\n"],"names":["getTestContext","checkMaxIfStatementsInShader"],"mappings":";;;;;;AAGA,IAAI,wBAA0C,GAAA,IAAA,CAAA;AASvC,SAAS,sBAChB,GAAA;AACI,EAAI,IAAA,wBAAA;AAA0B,IAAO,OAAA,wBAAA,CAAA;AAErC,EAAA,MAAM,KAAKA,6BAAe,EAAA,CAAA;AAG1B,EAA2B,wBAAA,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,uBAAuB,CAAA,CAAA;AAGrE,EAA2B,wBAAA,GAAAC,yDAAA;AAAA,IACvB,wBAAA;AAAA,IAA0B,EAAA;AAAA,GAAE,CAAA;AAEhC,EAAG,EAAA,CAAA,YAAA,CAAa,oBAAoB,CAAA,EAAG,WAAY,EAAA,CAAA;AAEnD,EAAO,OAAA,wBAAA,CAAA;AACX;;;;"}
|
20
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.mjs
generated
vendored
Normal file
20
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.mjs
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { getTestContext } from '../../../renderers/gl/shader/program/getTestContext.mjs';
|
||||
import { checkMaxIfStatementsInShader } from './checkMaxIfStatementsInShader.mjs';
|
||||
|
||||
"use strict";
|
||||
let maxTexturesPerBatchCache = null;
|
||||
function getMaxTexturesPerBatch() {
|
||||
if (maxTexturesPerBatchCache)
|
||||
return maxTexturesPerBatchCache;
|
||||
const gl = getTestContext();
|
||||
maxTexturesPerBatchCache = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);
|
||||
maxTexturesPerBatchCache = checkMaxIfStatementsInShader(
|
||||
maxTexturesPerBatchCache,
|
||||
gl
|
||||
);
|
||||
gl.getExtension("WEBGL_lose_context")?.loseContext();
|
||||
return maxTexturesPerBatchCache;
|
||||
}
|
||||
|
||||
export { getMaxTexturesPerBatch };
|
||||
//# sourceMappingURL=maxRecommendedTextures.mjs.map
|
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.mjs.map
generated
vendored
Normal file
1
node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"maxRecommendedTextures.mjs","sources":["../../../../../src/rendering/batcher/gl/utils/maxRecommendedTextures.ts"],"sourcesContent":["import { getTestContext } from '../../../renderers/gl/shader/program/getTestContext';\nimport { checkMaxIfStatementsInShader } from './checkMaxIfStatementsInShader';\n\nlet maxTexturesPerBatchCache: number | null = null;\n\n/**\n * Returns the maximum number of textures that can be batched. This uses WebGL1's `MAX_TEXTURE_IMAGE_UNITS`.\n * The response for this is that to get this info via WebGPU, we would need to make a context, which\n * would make this function async, and we want to avoid that.\n * @private\n * @returns {number} The maximum number of textures that can be batched\n */\nexport function getMaxTexturesPerBatch(): number\n{\n if (maxTexturesPerBatchCache) return maxTexturesPerBatchCache;\n\n const gl = getTestContext();\n\n // step 1: first check max textures the GPU can handle.\n maxTexturesPerBatchCache = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);\n\n // step 2: check the maximum number of if statements the shader can have too..\n maxTexturesPerBatchCache = checkMaxIfStatementsInShader(\n maxTexturesPerBatchCache, gl);\n\n gl.getExtension('WEBGL_lose_context')?.loseContext();\n\n return maxTexturesPerBatchCache;\n}\n"],"names":[],"mappings":";;;;AAGA,IAAI,wBAA0C,GAAA,IAAA,CAAA;AASvC,SAAS,sBAChB,GAAA;AACI,EAAI,IAAA,wBAAA;AAA0B,IAAO,OAAA,wBAAA,CAAA;AAErC,EAAA,MAAM,KAAK,cAAe,EAAA,CAAA;AAG1B,EAA2B,wBAAA,GAAA,EAAA,CAAG,YAAa,CAAA,EAAA,CAAG,uBAAuB,CAAA,CAAA;AAGrE,EAA2B,wBAAA,GAAA,4BAAA;AAAA,IACvB,wBAAA;AAAA,IAA0B,EAAA;AAAA,GAAE,CAAA;AAEhC,EAAG,EAAA,CAAA,YAAA,CAAa,oBAAoB,CAAA,EAAG,WAAY,EAAA,CAAA;AAEnD,EAAO,OAAA,wBAAA,CAAA;AACX;;;;"}
|
Reference in New Issue
Block a user