b5edb337f4cad5a3b06596c752665bc420b887121a43a8ac2df2a1f8e9979c56.json 20 KB

1
  1. {"ast":null,"code":"import { Logger } from \"../../../Misc/logger.js\";\nimport { ComputeEffect } from \"../../../Compute/computeEffect.js\";\nimport { WebGPUEngine } from \"../../webgpuEngine.js\";\nimport { WebGPUComputeContext } from \"../webgpuComputeContext.js\";\nimport { WebGPUComputePipelineContext } from \"../webgpuComputePipelineContext.js\";\nconst computePassDescriptor = {};\nWebGPUEngine.prototype.createComputeContext = function () {\n return new WebGPUComputeContext(this._device, this._cacheSampler);\n};\nWebGPUEngine.prototype.createComputeEffect = function (baseName, options) {\n const compute = typeof baseName === \"string\" ? baseName : baseName.computeToken || baseName.computeSource || baseName.computeElement || baseName.compute;\n const name = compute + \"@\" + options.defines;\n if (this._compiledComputeEffects[name]) {\n const compiledEffect = this._compiledComputeEffects[name];\n if (options.onCompiled && compiledEffect.isReady()) {\n options.onCompiled(compiledEffect);\n }\n return compiledEffect;\n }\n const effect = new ComputeEffect(baseName, options, this, name);\n this._compiledComputeEffects[name] = effect;\n return effect;\n};\nWebGPUEngine.prototype.createComputePipelineContext = function () {\n return new WebGPUComputePipelineContext(this);\n};\nWebGPUEngine.prototype.areAllComputeEffectsReady = function () {\n for (const key in this._compiledComputeEffects) {\n const effect = this._compiledComputeEffects[key];\n if (!effect.isReady()) {\n return false;\n }\n }\n return true;\n};\nWebGPUEngine.prototype.computeDispatch = function (effect, context, bindings, x, y = 1, z = 1, bindingsMapping, gpuPerfCounter) {\n this._computeDispatch(effect, context, bindings, x, y, z, undefined, undefined, bindingsMapping, gpuPerfCounter);\n};\nWebGPUEngine.prototype.computeDispatchIndirect = function (effect, context, bindings, buffer, offset = 0, bindingsMapping, gpuPerfCounter) {\n this._computeDispatch(effect, context, bindings, undefined, undefined, undefined, buffer, offset, bindingsMapping, gpuPerfCounter);\n};\nWebGPUEngine.prototype._computeDispatch = function (effect, context, bindings, x, y, z, buffer, offset, bindingsMapping, gpuPerfCounter) {\n this._endCurrentRenderPass();\n const contextPipeline = effect._pipelineContext;\n const computeContext = context;\n if (!contextPipeline.computePipeline) {\n contextPipeline.computePipeline = this._device.createComputePipeline({\n layout: \"auto\" /* WebGPUConstants.AutoLayoutMode.Auto */,\n compute: contextPipeline.stage\n });\n }\n if (gpuPerfCounter) {\n this._timestampQuery.startPass(computePassDescriptor, this._timestampIndex);\n }\n const computePass = this._renderEncoder.beginComputePass(computePassDescriptor);\n computePass.setPipeline(contextPipeline.computePipeline);\n const bindGroups = computeContext.getBindGroups(bindings, contextPipeline.computePipeline, bindingsMapping);\n for (let i = 0; i < bindGroups.length; ++i) {\n const bindGroup = bindGroups[i];\n if (!bindGroup) {\n continue;\n }\n computePass.setBindGroup(i, bindGroup);\n }\n if (buffer !== undefined) {\n computePass.dispatchWorkgroupsIndirect(buffer.underlyingResource, offset);\n } else {\n if (x + y + z > 0) {\n computePass.dispatchWorkgroups(x, y, z);\n }\n }\n computePass.end();\n if (gpuPerfCounter) {\n this._timestampQuery.endPass(this._timestampIndex, gpuPerfCounter);\n this._timestampIndex += 2;\n }\n};\nWebGPUEngine.prototype.releaseComputeEffects = function () {\n for (const name in this._compiledComputeEffects) {\n const webGPUPipelineContextCompute = this._compiledComputeEffects[name].getPipelineContext();\n this._deleteComputePipelineContext(webGPUPipelineContextCompute);\n }\n this._compiledComputeEffects = {};\n};\nWebGPUEngine.prototype._prepareComputePipelineContext = function (pipelineContext, computeSourceCode, rawComputeSourceCode, defines, entryPoint) {\n const webGpuContext = pipelineContext;\n if (this.dbgShowShaderCode) {\n Logger.Log(defines);\n Logger.Log(computeSourceCode);\n }\n webGpuContext.sources = {\n compute: computeSourceCode,\n rawCompute: rawComputeSourceCode\n };\n webGpuContext.stage = this._createComputePipelineStageDescriptor(computeSourceCode, defines, entryPoint);\n};\nWebGPUEngine.prototype._releaseComputeEffect = function (effect) {\n if (this._compiledComputeEffects[effect._key]) {\n delete this._compiledComputeEffects[effect._key];\n this._deleteComputePipelineContext(effect.getPipelineContext());\n }\n};\nWebGPUEngine.prototype._rebuildComputeEffects = function () {\n for (const key in this._compiledComputeEffects) {\n const effect = this._compiledComputeEffects[key];\n effect._pipelineContext = null;\n effect._wasPreviouslyReady = false;\n effect._prepareEffect();\n }\n};\nWebGPUEngine.prototype._executeWhenComputeStateIsCompiled = function (pipelineContext, action) {\n pipelineContext.stage.module.getCompilationInfo().then(info => {\n const compilationMessages = {\n numErrors: 0,\n messages: []\n };\n for (const message of info.messages) {\n if (message.type === \"error\") {\n compilationMessages.numErrors++;\n }\n compilationMessages.messages.push({\n type: message.type,\n text: message.message,\n line: message.lineNum,\n column: message.linePos,\n length: message.length,\n offset: message.offset\n });\n }\n action(compilationMessages);\n });\n};\nWebGPUEngine.prototype._deleteComputePipelineContext = function (pipelineContext) {\n const webgpuPipelineContext = pipelineContext;\n if (webgpuPipelineContext) {\n pipelineContext.dispose();\n }\n};\nWebGPUEngine.prototype._createComputePipelineStageDescriptor = function (computeShader, defines, entryPoint) {\n if (defines) {\n defines = \"//\" + defines.split(\"\\n\").join(\"\\n//\") + \"\\n\";\n } else {\n defines = \"\";\n }\n return {\n module: this._device.createShaderModule({\n code: defines + computeShader\n }),\n entryPoint\n };\n};","map":{"version":3,"names":["Logger","ComputeEffect","WebGPUEngine","WebGPUComputeContext","WebGPUComputePipelineContext","computePassDescriptor","prototype","createComputeContext","_device","_cacheSampler","createComputeEffect","baseName","options","compute","computeToken","computeSource","computeElement","name","defines","_compiledComputeEffects","compiledEffect","onCompiled","isReady","effect","createComputePipelineContext","areAllComputeEffectsReady","key","computeDispatch","context","bindings","x","y","z","bindingsMapping","gpuPerfCounter","_computeDispatch","undefined","computeDispatchIndirect","buffer","offset","_endCurrentRenderPass","contextPipeline","_pipelineContext","computeContext","computePipeline","createComputePipeline","layout","stage","_timestampQuery","startPass","_timestampIndex","computePass","_renderEncoder","beginComputePass","setPipeline","bindGroups","getBindGroups","i","length","bindGroup","setBindGroup","dispatchWorkgroupsIndirect","underlyingResource","dispatchWorkgroups","end","endPass","releaseComputeEffects","webGPUPipelineContextCompute","getPipelineContext","_deleteComputePipelineContext","_prepareComputePipelineContext","pipelineContext","computeSourceCode","rawComputeSourceCode","entryPoint","webGpuContext","dbgShowShaderCode","Log","sources","rawCompute","_createComputePipelineStageDescriptor","_releaseComputeEffect","_key","_rebuildComputeEffects","_wasPreviouslyReady","_prepareEffect","_executeWhenComputeStateIsCompiled","action","module","getCompilationInfo","then","info","compilationMessages","numErrors","messages","message","type","push","text","line","lineNum","column","linePos","webgpuPipelineContext","dispose","computeShader","split","join","createShaderModule","code"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/WebGPU/Extensions/engine.computeShader.js"],"sourcesContent":["import { Logger } from \"../../../Misc/logger.js\";\nimport { ComputeEffect } from \"../../../Compute/computeEffect.js\";\nimport { WebGPUEngine } from \"../../webgpuEngine.js\";\nimport { WebGPUComputeContext } from \"../webgpuComputeContext.js\";\nimport { WebGPUComputePipelineContext } from \"../webgpuComputePipelineContext.js\";\nconst computePassDescriptor = {};\nWebGPUEngine.prototype.createComputeContext = function () {\n return new WebGPUComputeContext(this._device, this._cacheSampler);\n};\nWebGPUEngine.prototype.createComputeEffect = function (baseName, options) {\n const compute = typeof baseName === \"string\" ? baseName : baseName.computeToken || baseName.computeSource || baseName.computeElement || baseName.compute;\n const name = compute + \"@\" + options.defines;\n if (this._compiledComputeEffects[name]) {\n const compiledEffect = this._compiledComputeEffects[name];\n if (options.onCompiled && compiledEffect.isReady()) {\n options.onCompiled(compiledEffect);\n }\n return compiledEffect;\n }\n const effect = new ComputeEffect(baseName, options, this, name);\n this._compiledComputeEffects[name] = effect;\n return effect;\n};\nWebGPUEngine.prototype.createComputePipelineContext = function () {\n return new WebGPUComputePipelineContext(this);\n};\nWebGPUEngine.prototype.areAllComputeEffectsReady = function () {\n for (const key in this._compiledComputeEffects) {\n const effect = this._compiledComputeEffects[key];\n if (!effect.isReady()) {\n return false;\n }\n }\n return true;\n};\nWebGPUEngine.prototype.computeDispatch = function (effect, context, bindings, x, y = 1, z = 1, bindingsMapping, gpuPerfCounter) {\n this._computeDispatch(effect, context, bindings, x, y, z, undefined, undefined, bindingsMapping, gpuPerfCounter);\n};\nWebGPUEngine.prototype.computeDispatchIndirect = function (effect, context, bindings, buffer, offset = 0, bindingsMapping, gpuPerfCounter) {\n this._computeDispatch(effect, context, bindings, undefined, undefined, undefined, buffer, offset, bindingsMapping, gpuPerfCounter);\n};\nWebGPUEngine.prototype._computeDispatch = function (effect, context, bindings, x, y, z, buffer, offset, bindingsMapping, gpuPerfCounter) {\n this._endCurrentRenderPass();\n const contextPipeline = effect._pipelineContext;\n const computeContext = context;\n if (!contextPipeline.computePipeline) {\n contextPipeline.computePipeline = this._device.createComputePipeline({\n layout: \"auto\" /* WebGPUConstants.AutoLayoutMode.Auto */,\n compute: contextPipeline.stage,\n });\n }\n if (gpuPerfCounter) {\n this._timestampQuery.startPass(computePassDescriptor, this._timestampIndex);\n }\n const computePass = this._renderEncoder.beginComputePass(computePassDescriptor);\n computePass.setPipeline(contextPipeline.computePipeline);\n const bindGroups = computeContext.getBindGroups(bindings, contextPipeline.computePipeline, bindingsMapping);\n for (let i = 0; i < bindGroups.length; ++i) {\n const bindGroup = bindGroups[i];\n if (!bindGroup) {\n continue;\n }\n computePass.setBindGroup(i, bindGroup);\n }\n if (buffer !== undefined) {\n computePass.dispatchWorkgroupsIndirect(buffer.underlyingResource, offset);\n }\n else {\n if (x + y + z > 0) {\n computePass.dispatchWorkgroups(x, y, z);\n }\n }\n computePass.end();\n if (gpuPerfCounter) {\n this._timestampQuery.endPass(this._timestampIndex, gpuPerfCounter);\n this._timestampIndex += 2;\n }\n};\nWebGPUEngine.prototype.releaseComputeEffects = function () {\n for (const name in this._compiledComputeEffects) {\n const webGPUPipelineContextCompute = this._compiledComputeEffects[name].getPipelineContext();\n this._deleteComputePipelineContext(webGPUPipelineContextCompute);\n }\n this._compiledComputeEffects = {};\n};\nWebGPUEngine.prototype._prepareComputePipelineContext = function (pipelineContext, computeSourceCode, rawComputeSourceCode, defines, entryPoint) {\n const webGpuContext = pipelineContext;\n if (this.dbgShowShaderCode) {\n Logger.Log(defines);\n Logger.Log(computeSourceCode);\n }\n webGpuContext.sources = {\n compute: computeSourceCode,\n rawCompute: rawComputeSourceCode,\n };\n webGpuContext.stage = this._createComputePipelineStageDescriptor(computeSourceCode, defines, entryPoint);\n};\nWebGPUEngine.prototype._releaseComputeEffect = function (effect) {\n if (this._compiledComputeEffects[effect._key]) {\n delete this._compiledComputeEffects[effect._key];\n this._deleteComputePipelineContext(effect.getPipelineContext());\n }\n};\nWebGPUEngine.prototype._rebuildComputeEffects = function () {\n for (const key in this._compiledComputeEffects) {\n const effect = this._compiledComputeEffects[key];\n effect._pipelineContext = null;\n effect._wasPreviouslyReady = false;\n effect._prepareEffect();\n }\n};\nWebGPUEngine.prototype._executeWhenComputeStateIsCompiled = function (pipelineContext, action) {\n pipelineContext.stage.module.getCompilationInfo().then((info) => {\n const compilationMessages = {\n numErrors: 0,\n messages: [],\n };\n for (const message of info.messages) {\n if (message.type === \"error\") {\n compilationMessages.numErrors++;\n }\n compilationMessages.messages.push({\n type: message.type,\n text: message.message,\n line: message.lineNum,\n column: message.linePos,\n length: message.length,\n offset: message.offset,\n });\n }\n action(compilationMessages);\n });\n};\nWebGPUEngine.prototype._deleteComputePipelineContext = function (pipelineContext) {\n const webgpuPipelineContext = pipelineContext;\n if (webgpuPipelineContext) {\n pipelineContext.dispose();\n }\n};\nWebGPUEngine.prototype._createComputePipelineStageDescriptor = function (computeShader, defines, entryPoint) {\n if (defines) {\n defines = \"//\" + defines.split(\"\\n\").join(\"\\n//\") + \"\\n\";\n }\n else {\n defines = \"\";\n }\n return {\n module: this._device.createShaderModule({\n code: defines + computeShader,\n }),\n entryPoint,\n };\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}