@babylonjs/core 7.25.2 → 7.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/Engines/Extensions/engine.prefilteredCubeTexture.d.ts +0 -1
  2. package/Engines/Extensions/engine.prefilteredCubeTexture.js +0 -1
  3. package/Engines/Extensions/engine.prefilteredCubeTexture.js.map +1 -1
  4. package/Engines/WebGPU/Extensions/engine.alpha.js +3 -3
  5. package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
  6. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +5 -5
  7. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  8. package/Engines/WebGPU/Extensions/engine.rawTexture.js +10 -10
  9. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  10. package/Engines/WebGPU/Extensions/engine.readTexture.js +3 -3
  11. package/Engines/WebGPU/Extensions/engine.readTexture.js.map +1 -1
  12. package/Engines/WebGPU/Extensions/engine.renderTarget.js +6 -6
  13. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  14. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js +2 -2
  15. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
  16. package/Engines/WebGPU/Extensions/engine.renderTargetTexture.js +2 -2
  17. package/Engines/WebGPU/Extensions/engine.renderTargetTexture.js.map +1 -1
  18. package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +2 -2
  19. package/Engines/WebGPU/webgpuRenderTargetWrapper.js.map +1 -1
  20. package/Engines/abstractEngine.d.ts +2 -0
  21. package/Engines/abstractEngine.js +2 -2
  22. package/Engines/abstractEngine.js.map +1 -1
  23. package/Engines/engine.d.ts +5 -5
  24. package/Engines/engine.js +5 -0
  25. package/Engines/engine.js.map +1 -1
  26. package/Engines/thinWebGPUEngine.d.ts +66 -0
  27. package/Engines/thinWebGPUEngine.js +120 -0
  28. package/Engines/thinWebGPUEngine.js.map +1 -0
  29. package/Engines/webgpuEngine.d.ts +9 -58
  30. package/Engines/webgpuEngine.js +9 -108
  31. package/Engines/webgpuEngine.js.map +1 -1
  32. package/Materials/Node/Blocks/colorConverterBlock.d.ts +36 -0
  33. package/Materials/Node/Blocks/colorConverterBlock.js +192 -0
  34. package/Materials/Node/Blocks/colorConverterBlock.js.map +1 -0
  35. package/Materials/Node/Blocks/index.d.ts +1 -0
  36. package/Materials/Node/Blocks/index.js +1 -0
  37. package/Materials/Node/Blocks/index.js.map +1 -1
  38. package/Materials/Node/nodeMaterialBuildState.d.ts +1 -1
  39. package/Materials/Textures/Filtering/hdrFiltering.d.ts +0 -1
  40. package/Materials/Textures/Filtering/hdrFiltering.js +0 -1
  41. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  42. package/Materials/Textures/Loaders/basisTextureLoader.d.ts +0 -1
  43. package/Materials/Textures/Loaders/basisTextureLoader.js +0 -1
  44. package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
  45. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +0 -1
  46. package/Materials/Textures/Loaders/ddsTextureLoader.js +0 -1
  47. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  48. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +0 -1
  49. package/Materials/Textures/Loaders/ktxTextureLoader.js +0 -1
  50. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  51. package/Materials/Textures/Procedurals/proceduralTexture.d.ts +0 -2
  52. package/Materials/Textures/Procedurals/proceduralTexture.js +0 -2
  53. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  54. package/Materials/Textures/baseTexture.d.ts +0 -1
  55. package/Materials/Textures/baseTexture.js +0 -1
  56. package/Materials/Textures/baseTexture.js.map +1 -1
  57. package/Materials/Textures/colorGradingTexture.d.ts +0 -1
  58. package/Materials/Textures/colorGradingTexture.js +0 -2
  59. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  60. package/Materials/Textures/cubeTexture.d.ts +0 -1
  61. package/Materials/Textures/cubeTexture.js +0 -1
  62. package/Materials/Textures/cubeTexture.js.map +1 -1
  63. package/Materials/Textures/equiRectangularCubeTexture.d.ts +0 -1
  64. package/Materials/Textures/equiRectangularCubeTexture.js +0 -1
  65. package/Materials/Textures/equiRectangularCubeTexture.js.map +1 -1
  66. package/Materials/Textures/hdrCubeTexture.d.ts +0 -1
  67. package/Materials/Textures/hdrCubeTexture.js +0 -1
  68. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  69. package/Materials/Textures/rawCubeTexture.d.ts +0 -1
  70. package/Materials/Textures/rawCubeTexture.js +0 -1
  71. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  72. package/Materials/Textures/rawTexture.d.ts +0 -1
  73. package/Materials/Textures/rawTexture.js +0 -1
  74. package/Materials/Textures/rawTexture.js.map +1 -1
  75. package/Materials/Textures/rawTexture2DArray.d.ts +0 -1
  76. package/Materials/Textures/rawTexture2DArray.js +0 -1
  77. package/Materials/Textures/rawTexture2DArray.js.map +1 -1
  78. package/Materials/Textures/rawTexture3D.d.ts +0 -1
  79. package/Materials/Textures/rawTexture3D.js +0 -1
  80. package/Materials/Textures/rawTexture3D.js.map +1 -1
  81. package/Materials/Textures/renderTargetTexture.d.ts +0 -3
  82. package/Materials/Textures/renderTargetTexture.js +0 -3
  83. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  84. package/Materials/material.detailMapConfiguration.d.ts +2 -2
  85. package/Materials/material.detailMapConfiguration.js.map +1 -1
  86. package/Misc/basis.d.ts +3 -3
  87. package/Misc/basis.js.map +1 -1
  88. package/Misc/dds.d.ts +0 -1
  89. package/Misc/dds.js +0 -1
  90. package/Misc/dds.js.map +1 -1
  91. package/Misc/environmentTextureTools.d.ts +0 -2
  92. package/Misc/environmentTextureTools.js +0 -2
  93. package/Misc/environmentTextureTools.js.map +1 -1
  94. package/Misc/minMaxReducer.d.ts +0 -1
  95. package/Misc/minMaxReducer.js +0 -1
  96. package/Misc/minMaxReducer.js.map +1 -1
  97. package/Misc/rgbdTextureTools.d.ts +0 -2
  98. package/Misc/rgbdTextureTools.js +5 -10
  99. package/Misc/rgbdTextureTools.js.map +1 -1
  100. package/Misc/screenshotTools.d.ts +0 -1
  101. package/Misc/screenshotTools.js +0 -1
  102. package/Misc/screenshotTools.js.map +1 -1
  103. package/Particles/particleSystem.js.map +1 -1
  104. package/Particles/thinParticleSystem.js.map +1 -1
  105. package/PostProcesses/anaglyphPostProcess.d.ts +2 -2
  106. package/PostProcesses/anaglyphPostProcess.js.map +1 -1
  107. package/PostProcesses/highlightsPostProcess.d.ts +2 -2
  108. package/PostProcesses/highlightsPostProcess.js.map +1 -1
  109. package/PostProcesses/postProcess.d.ts +0 -1
  110. package/PostProcesses/postProcess.js +0 -1
  111. package/PostProcesses/postProcess.js.map +1 -1
  112. package/PostProcesses/stereoscopicInterlacePostProcess.d.ts +3 -3
  113. package/PostProcesses/stereoscopicInterlacePostProcess.js.map +1 -1
  114. package/PostProcesses/tonemapPostProcess.d.ts +2 -2
  115. package/PostProcesses/tonemapPostProcess.js.map +1 -1
  116. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { ThinWebGPUEngine } from "./thinWebGPUEngine";
1
2
  import type { Nullable, DataArray, IndicesArray, Immutable, FloatArray } from "../types";
2
3
  import { InternalTexture, InternalTextureSource } from "../Materials/Textures/internalTexture";
3
4
  import type { IEffectCreationOptions, IShaderPath } from "../Materials/effect";
@@ -9,7 +10,6 @@ import type { DataBuffer } from "../Buffers/dataBuffer";
9
10
  import type { BaseTexture } from "../Materials/Textures/baseTexture";
10
11
  import type { IShaderProcessor } from "./Processors/iShaderProcessor";
11
12
  import type { ShaderProcessingContext } from "./Processors/shaderProcessingOptions";
12
- import { WebGPUTextureManager } from "./WebGPU/webgpuTextureManager";
13
13
  import { AbstractEngine } from "./abstractEngine";
14
14
  import type { ISceneLike, AbstractEngineOptions } from "./abstractEngine";
15
15
  import { WebGPUBufferManager } from "./WebGPU/webgpuBufferManager";
@@ -17,13 +17,10 @@ import type { HardwareTextureWrapper } from "../Materials/Textures/hardwareTextu
17
17
  import { WebGPUHardwareTexture } from "./WebGPU/webgpuHardwareTexture";
18
18
  import type { IColor4Like } from "../Maths/math.like";
19
19
  import { WebGPUCacheSampler } from "./WebGPU/webgpuCacheSampler";
20
- import type { WebGPUCacheRenderPipeline } from "./WebGPU/webgpuCacheRenderPipeline";
21
20
  import type { DrawWrapper } from "../Materials/drawWrapper";
22
21
  import { WebGPUMaterialContext } from "./WebGPU/webgpuMaterialContext";
23
22
  import { WebGPUDrawContext } from "./WebGPU/webgpuDrawContext";
24
23
  import type { IStencilState } from "../States/IStencilState";
25
- import { WebGPUBundleList } from "./WebGPU/webgpuBundleList";
26
- import { WebGPUTimestampQuery } from "./WebGPU/webgpuTimestampQuery";
27
24
  import type { ComputeEffect } from "../Compute/computeEffect";
28
25
  import { WebGPUOcclusionQuery } from "./WebGPU/webgpuOcclusionQuery";
29
26
  import type { TwgslOptions } from "./WebGPU/webgpuTintWASM";
@@ -33,7 +30,6 @@ import type { InternalTextureCreationOptions, TextureSize } from "../Materials/T
33
30
  import type { WebGPUDataBuffer } from "../Meshes/WebGPU/webgpuDataBuffer";
34
31
  import "../Buffers/buffer.align";
35
32
  import type { RenderTargetWrapper } from "./renderTargetWrapper";
36
- import { WebGPUPerfCounter } from "./WebGPU/webgpuPerfCounter";
37
33
  import type { Scene } from "../scene";
38
34
  import { PerformanceMonitor } from "../Misc/performanceMonitor";
39
35
  import "./AbstractEngine/abstractEngine.loadingScreen";
@@ -43,6 +39,13 @@ import "./AbstractEngine/abstractEngine.renderPass";
43
39
  import "../Audio/audioEngine";
44
40
  import type { TextureSampler } from "../Materials/Textures/textureSampler";
45
41
  import type { StorageBuffer } from "../Buffers/storageBuffer";
42
+ import "./WebGPU/Extensions/engine.alpha";
43
+ import "./WebGPU/Extensions/engine.rawTexture";
44
+ import "./WebGPU/Extensions/engine.readTexture";
45
+ import "./WebGPU/Extensions/engine.cubeTexture";
46
+ import "./WebGPU/Extensions/engine.renderTarget";
47
+ import "./WebGPU/Extensions/engine.renderTargetTexture";
48
+ import "./WebGPU/Extensions/engine.renderTargetCube";
46
49
  /** @internal */
47
50
  interface IWebGPURenderPassWrapper {
48
51
  renderPassDescriptor: Nullable<GPURenderPassDescriptor>;
@@ -118,7 +121,7 @@ export interface WebGPUEngineOptions extends AbstractEngineOptions, GPURequestAd
118
121
  * The web GPU engine class provides support for WebGPU version of babylon.js.
119
122
  * @since 5.0.0
120
123
  */
121
- export declare class WebGPUEngine extends AbstractEngine {
124
+ export declare class WebGPUEngine extends ThinWebGPUEngine {
122
125
  private static readonly _GlslangDefaultOptions;
123
126
  private static _InstanceId;
124
127
  /** A unique id to identify this instance */
@@ -150,23 +153,15 @@ export declare class WebGPUEngine extends AbstractEngine {
150
153
  private _glslangOptions?;
151
154
  private _twgslOptions?;
152
155
  /** @internal */
153
- _textureHelper: WebGPUTextureManager;
154
- /** @internal */
155
156
  _bufferManager: WebGPUBufferManager;
156
157
  private _clearQuad;
157
158
  /** @internal */
158
159
  _cacheSampler: WebGPUCacheSampler;
159
- /** @internal */
160
- _cacheRenderPipeline: WebGPUCacheRenderPipeline;
161
160
  private _cacheBindGroups;
162
161
  private _emptyVertexBuffer;
163
162
  /** @internal */
164
163
  _mrtAttachments: number[];
165
164
  /** @internal */
166
- _timestampQuery: WebGPUTimestampQuery;
167
- /** @internal */
168
- _timestampIndex: number;
169
- /** @internal */
170
165
  _occlusionQuery: WebGPUOcclusionQuery;
171
166
  /** @internal */
172
167
  _compiledComputeEffects: {
@@ -207,22 +202,11 @@ export declare class WebGPUEngine extends AbstractEngine {
207
202
  _ubInvertY: WebGPUDataBuffer;
208
203
  /** @internal */
209
204
  _ubDontInvertY: WebGPUDataBuffer;
210
- /** @internal */
211
- _uploadEncoder: GPUCommandEncoder;
212
- /** @internal */
213
- _renderEncoder: GPUCommandEncoder;
214
205
  private _commandBuffers;
215
- /** @internal */
216
- _currentRenderPass: Nullable<GPURenderPassEncoder>;
217
206
  private _mainRenderPassWrapper;
218
207
  private _rttRenderPassWrapper;
219
208
  /** @internal */
220
209
  _pendingDebugCommands: Array<[string, Nullable<string>]>;
221
- /**
222
- * Used for both the compatibilityMode=false and the snapshot rendering modes (as both can't be enabled at the same time)
223
- * @internal
224
- */
225
- _bundleList: WebGPUBundleList;
226
210
  private _defaultDrawContext;
227
211
  private _defaultMaterialContext;
228
212
  /** @internal */
@@ -233,20 +217,6 @@ export declare class WebGPUEngine extends AbstractEngine {
233
217
  private _currentIndexBuffer;
234
218
  private _colorWriteLocal;
235
219
  private _forceEnableEffect;
236
- /** @internal */
237
- dbgShowShaderCode: boolean;
238
- /** @internal */
239
- dbgSanityChecks: boolean;
240
- /** @internal */
241
- dbgVerboseLogsForFirstFrames: boolean;
242
- /** @internal */
243
- dbgVerboseLogsNumFrames: number;
244
- /** @internal */
245
- dbgLogIfNotDrawWrapper: boolean;
246
- /** @internal */
247
- dbgShowEmptyEnableEffectCalls: boolean;
248
- private _snapshotRendering;
249
- protected _snapshotRenderingMode: number;
250
220
  /**
251
221
  * Gets or sets the snapshot rendering mode
252
222
  */
@@ -336,18 +306,6 @@ export declare class WebGPUEngine extends AbstractEngine {
336
306
  */
337
307
  get compatibilityMode(): boolean;
338
308
  set compatibilityMode(mode: boolean);
339
- /**
340
- * Enables or disables GPU timing measurements.
341
- * Note that this is only supported if the "timestamp-query" extension is enabled in the options.
342
- */
343
- get enableGPUTimingMeasurements(): boolean;
344
- set enableGPUTimingMeasurements(enable: boolean);
345
- /**
346
- * Gets the GPU time spent in the main render pass for the last frame rendered (in nanoseconds).
347
- * You have to enable the "timestamp-query" extension in the engine constructor options and set engine.enableGPUTimingMeasurements = true.
348
- * It will only return time spent in the main pass, not additional render target / compute passes (if any)!
349
- */
350
- readonly gpuTimeInFrameForMainPass?: WebGPUPerfCounter;
351
309
  /** @internal */
352
310
  get currentSampleCount(): number;
353
311
  /**
@@ -450,7 +408,6 @@ export declare class WebGPUEngine extends AbstractEngine {
450
408
  * @internal
451
409
  */
452
410
  _getShaderProcessingContext(shaderLanguage: ShaderLanguage, pureMode: boolean): Nullable<ShaderProcessingContext>;
453
- private _currentPassIsMainPass;
454
411
  private _getCurrentRenderPass;
455
412
  /** @internal */
456
413
  _getCurrentRenderPassWrapper(): IWebGPURenderPassWrapper;
@@ -836,10 +793,6 @@ export declare class WebGPUEngine extends AbstractEngine {
836
793
  * @param texture texture to generate the mipmaps for
837
794
  */
838
795
  generateMipmaps(texture: InternalTexture): void;
839
- /**
840
- * @internal
841
- */
842
- _generateMipmaps(texture: InternalTexture, commandEncoder?: GPUCommandEncoder): void;
843
796
  /**
844
797
  * Update a portion of an internal texture
845
798
  * @param texture defines the texture to update
@@ -905,8 +858,6 @@ export declare class WebGPUEngine extends AbstractEngine {
905
858
  _currentFrameBufferIsDefaultFrameBuffer(): boolean;
906
859
  private _startRenderTargetRenderPass;
907
860
  private _startMainRenderPass;
908
- /** @internal */
909
- _endCurrentRenderPass(): number;
910
861
  /**
911
862
  * Binds the frame buffer to the specified texture.
912
863
  * @param texture The render target wrapper to render to
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable babylonjs/available */
2
2
  import { Logger } from "../Misc/logger.js";
3
+ import { ThinWebGPUEngine } from "./thinWebGPUEngine.js";
3
4
  import { Color4 } from "../Maths/math.js";
4
5
  import { InternalTexture } from "../Materials/Textures/internalTexture.js";
5
6
  import { Effect } from "../Materials/effect.js";
@@ -34,7 +35,6 @@ import { WebGPUTintWASM } from "./WebGPU/webgpuTintWASM.js";
34
35
  import { WebGPUShaderProcessor } from "./WebGPU/webgpuShaderProcessor.js";
35
36
  import { WebGPUSnapshotRendering } from "./WebGPU/webgpuSnapshotRendering.js";
36
37
  import "../Buffers/buffer.align.js";
37
- import { WebGPUPerfCounter } from "./WebGPU/webgpuPerfCounter.js";
38
38
  import { SphericalPolynomial } from "../Maths/sphericalPolynomial.js";
39
39
  import { PerformanceMonitor } from "../Misc/performanceMonitor.js";
40
40
  import { CreateImageBitmapFromSource, ExitFullscreen, ExitPointerlock, GetFontOffset, RequestFullscreen, RequestPointerlock, ResizeImageBitmap, _CommonDispose, _CommonInit, } from "./engine.common.js";
@@ -47,6 +47,13 @@ import "./AbstractEngine/abstractEngine.renderPass.js";
47
47
  import "../Audio/audioEngine.js";
48
48
  import { resetCachedPipeline } from "../Materials/effect.functions.js";
49
49
  import { WebGPUExternalTexture } from "./WebGPU/webgpuExternalTexture.js";
50
+ import "./WebGPU/Extensions/engine.alpha.js";
51
+ import "./WebGPU/Extensions/engine.rawTexture.js";
52
+ import "./WebGPU/Extensions/engine.readTexture.js";
53
+ import "./WebGPU/Extensions/engine.cubeTexture.js";
54
+ import "./WebGPU/Extensions/engine.renderTarget.js";
55
+ import "./WebGPU/Extensions/engine.renderTargetTexture.js";
56
+ import "./WebGPU/Extensions/engine.renderTargetCube.js";
50
57
  const viewDescriptorSwapChainAntialiasing = {
51
58
  label: `TextureView_SwapChain_ResolveTarget`,
52
59
  dimension: "2d" /* WebGPUConstants.TextureDimension.E2d */,
@@ -66,7 +73,7 @@ const tempColor4 = new Color4();
66
73
  * The web GPU engine class provides support for WebGPU version of babylon.js.
67
74
  * @since 5.0.0
68
75
  */
69
- export class WebGPUEngine extends AbstractEngine {
76
+ export class WebGPUEngine extends ThinWebGPUEngine {
70
77
  /**
71
78
  * Gets or sets the snapshot rendering mode
72
79
  */
@@ -215,20 +222,6 @@ export class WebGPUEngine extends AbstractEngine {
215
222
  set compatibilityMode(mode) {
216
223
  this._compatibilityMode = mode;
217
224
  }
218
- /**
219
- * Enables or disables GPU timing measurements.
220
- * Note that this is only supported if the "timestamp-query" extension is enabled in the options.
221
- */
222
- get enableGPUTimingMeasurements() {
223
- return this._timestampQuery.enable;
224
- }
225
- set enableGPUTimingMeasurements(enable) {
226
- if (this._timestampQuery.enable === enable) {
227
- return;
228
- }
229
- this.gpuTimeInFrameForMainPass = enable ? new WebGPUPerfCounter() : undefined;
230
- this._timestampQuery.enable = enable;
231
- }
232
225
  /** @internal */
233
226
  get currentSampleCount() {
234
227
  return this._currentRenderTarget ? this._currentRenderTarget.samples : this._mainPassSampleCount;
@@ -274,8 +267,6 @@ export class WebGPUEngine extends AbstractEngine {
274
267
  description: "",
275
268
  };
276
269
  /** @internal */
277
- this._timestampIndex = 0;
278
- /** @internal */
279
270
  this._compiledComputeEffects = {};
280
271
  /** @internal */
281
272
  this._counters = {
@@ -305,8 +296,6 @@ export class WebGPUEngine extends AbstractEngine {
305
296
  this._virtualScenes = new Array();
306
297
  this._commandBuffers = [null, null];
307
298
  // Frame Buffer Life Cycle (recreated for each render target pass)
308
- /** @internal */
309
- this._currentRenderPass = null;
310
299
  this._mainRenderPassWrapper = {
311
300
  renderPassDescriptor: null,
312
301
  colorAttachmentViewDescriptor: null,
@@ -327,20 +316,6 @@ export class WebGPUEngine extends AbstractEngine {
327
316
  this._currentIndexBuffer = null;
328
317
  this._colorWriteLocal = true;
329
318
  this._forceEnableEffect = false;
330
- // TODO WEBGPU remove those variables when code stabilized
331
- /** @internal */
332
- this.dbgShowShaderCode = false;
333
- /** @internal */
334
- this.dbgSanityChecks = true;
335
- /** @internal */
336
- this.dbgVerboseLogsForFirstFrames = false;
337
- /** @internal */
338
- this.dbgVerboseLogsNumFrames = 10;
339
- /** @internal */
340
- this.dbgLogIfNotDrawWrapper = true;
341
- /** @internal */
342
- this.dbgShowEmptyEnableEffectCalls = true;
343
- this._snapshotRenderingMode = 0;
344
319
  /**
345
320
  * Indicates if the z range in NDC space is 0..1 (value: true) or -1..1 (value: false)
346
321
  */
@@ -917,9 +892,6 @@ export class WebGPUEngine extends AbstractEngine {
917
892
  _getShaderProcessingContext(shaderLanguage, pureMode) {
918
893
  return new WebGPUShaderProcessingContext(shaderLanguage, pureMode);
919
894
  }
920
- _currentPassIsMainPass() {
921
- return this._currentRenderTarget === null;
922
- }
923
895
  _getCurrentRenderPass() {
924
896
  if (this._currentRenderTarget && !this._currentRenderPass) {
925
897
  // delayed creation of the render target pass, but we now need to create it as we are requested the render pass
@@ -2139,45 +2111,6 @@ export class WebGPUEngine extends AbstractEngine {
2139
2111
  generateMipmaps(texture) {
2140
2112
  this._generateMipmaps(texture);
2141
2113
  }
2142
- /**
2143
- * @internal
2144
- */
2145
- _generateMipmaps(texture, commandEncoder) {
2146
- commandEncoder = commandEncoder ?? this._renderEncoder;
2147
- const gpuHardwareTexture = texture._hardwareTexture;
2148
- if (!gpuHardwareTexture) {
2149
- return;
2150
- }
2151
- if (commandEncoder === this._renderEncoder) {
2152
- // We must close the current pass (if any) because we are going to use the render encoder to generate the mipmaps (so, we are going to create a new render pass)
2153
- this._endCurrentRenderPass();
2154
- }
2155
- const format = texture._hardwareTexture.format;
2156
- const mipmapCount = WebGPUTextureHelper.ComputeNumMipmapLevels(texture.width, texture.height);
2157
- if (this.dbgVerboseLogsForFirstFrames) {
2158
- if (this._count === undefined) {
2159
- this._count = 0;
2160
- }
2161
- if (!this._count || this._count < this.dbgVerboseLogsNumFrames) {
2162
- Logger.Log("frame #" +
2163
- this._count +
2164
- " - generate mipmaps - width=" +
2165
- texture.width +
2166
- ", height=" +
2167
- texture.height +
2168
- ", isCube=" +
2169
- texture.isCube +
2170
- ", command encoder=" +
2171
- (commandEncoder === this._renderEncoder ? "render" : "copy"));
2172
- }
2173
- }
2174
- if (texture.isCube) {
2175
- this._textureHelper.generateCubeMipmaps(gpuHardwareTexture, format, mipmapCount, commandEncoder);
2176
- }
2177
- else {
2178
- this._textureHelper.generateMipmaps(gpuHardwareTexture, format, mipmapCount, 0, texture.is3D, commandEncoder);
2179
- }
2180
- }
2181
2114
  /**
2182
2115
  * Update a portion of an internal texture
2183
2116
  * @param texture defines the texture to update
@@ -2586,38 +2519,6 @@ export class WebGPUEngine extends AbstractEngine {
2586
2519
  this._stencilStateComposer.enabled = false;
2587
2520
  }
2588
2521
  }
2589
- /** @internal */
2590
- _endCurrentRenderPass() {
2591
- if (!this._currentRenderPass) {
2592
- return 0;
2593
- }
2594
- const currentPassIndex = this._currentPassIsMainPass() ? 2 : 1;
2595
- if (!this._snapshotRendering.endRenderPass(this._currentRenderPass) && !this.compatibilityMode) {
2596
- this._bundleList.run(this._currentRenderPass);
2597
- this._bundleList.reset();
2598
- }
2599
- this._currentRenderPass.end();
2600
- this._timestampQuery.endPass(this._timestampIndex, (this._currentRenderTarget && this._currentRenderTarget.gpuTimeInFrame
2601
- ? this._currentRenderTarget.gpuTimeInFrame
2602
- : this.gpuTimeInFrameForMainPass));
2603
- this._timestampIndex += 2;
2604
- if (this.dbgVerboseLogsForFirstFrames) {
2605
- if (this._count === undefined) {
2606
- this._count = 0;
2607
- }
2608
- if (!this._count || this._count < this.dbgVerboseLogsNumFrames) {
2609
- Logger.Log("frame #" +
2610
- this._count +
2611
- " - " +
2612
- (currentPassIndex === 2 ? "main" : "render target") +
2613
- " end pass" +
2614
- (currentPassIndex === 1 ? " - internalTexture.uniqueId=" + this._currentRenderTarget?.texture?.uniqueId : ""));
2615
- }
2616
- }
2617
- this._debugPopGroup?.(0);
2618
- this._currentRenderPass = null;
2619
- return currentPassIndex;
2620
- }
2621
2522
  /**
2622
2523
  * Binds the frame buffer to the specified texture.
2623
2524
  * @param texture The render target wrapper to render to