@babylonjs/core 8.44.1 → 8.45.1

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 (131) hide show
  1. package/Cameras/Inputs/geospatialCameraKeyboardInput.js +6 -10
  2. package/Cameras/Inputs/geospatialCameraKeyboardInput.js.map +1 -1
  3. package/Cameras/Inputs/geospatialCameraMouseWheelInput.js +1 -1
  4. package/Cameras/Inputs/geospatialCameraMouseWheelInput.js.map +1 -1
  5. package/Cameras/Limits/geospatialLimits.d.ts +4 -22
  6. package/Cameras/Limits/geospatialLimits.js +4 -36
  7. package/Cameras/Limits/geospatialLimits.js.map +1 -1
  8. package/Cameras/geospatialCamera.d.ts +15 -4
  9. package/Cameras/geospatialCamera.js +90 -37
  10. package/Cameras/geospatialCamera.js.map +1 -1
  11. package/Cameras/geospatialCameraMovement.d.ts +1 -3
  12. package/Cameras/geospatialCameraMovement.js +15 -51
  13. package/Cameras/geospatialCameraMovement.js.map +1 -1
  14. package/Collisions/collisionCoordinator.d.ts +2 -2
  15. package/Collisions/collisionCoordinator.js +1 -0
  16. package/Collisions/collisionCoordinator.js.map +1 -1
  17. package/Engines/Extensions/engine.debugging.d.ts +3 -5
  18. package/Engines/Extensions/engine.debugging.js +3 -4
  19. package/Engines/Extensions/engine.debugging.js.map +1 -1
  20. package/Engines/WebGPU/Extensions/engine.debugging.js +15 -65
  21. package/Engines/WebGPU/Extensions/engine.debugging.js.map +1 -1
  22. package/Engines/WebGPU/webgpuTextureManager.js +9 -9
  23. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  24. package/Engines/abstractEngine.d.ts +2 -0
  25. package/Engines/abstractEngine.js +4 -2
  26. package/Engines/abstractEngine.js.map +1 -1
  27. package/Engines/thinWebGPUEngine.d.ts +0 -2
  28. package/Engines/thinWebGPUEngine.js +0 -8
  29. package/Engines/thinWebGPUEngine.js.map +1 -1
  30. package/Engines/webgpuEngine.d.ts +1 -3
  31. package/Engines/webgpuEngine.js +4 -10
  32. package/Engines/webgpuEngine.js.map +1 -1
  33. package/FrameGraph/Passes/renderPass.js +4 -9
  34. package/FrameGraph/Passes/renderPass.js.map +1 -1
  35. package/FrameGraph/Tasks/PostProcesses/postProcessTask.js +3 -0
  36. package/FrameGraph/Tasks/PostProcesses/postProcessTask.js.map +1 -1
  37. package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +1 -1
  38. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js +4 -1
  39. package/FrameGraph/Tasks/Rendering/geometryRendererTask.js.map +1 -1
  40. package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +2 -1
  41. package/FrameGraph/Tasks/Rendering/objectRendererTask.js +31 -7
  42. package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
  43. package/FrameGraph/frameGraph.js +2 -2
  44. package/FrameGraph/frameGraph.js.map +1 -1
  45. package/FrameGraph/frameGraphContext.d.ts +9 -0
  46. package/FrameGraph/frameGraphContext.js +13 -2
  47. package/FrameGraph/frameGraphContext.js.map +1 -1
  48. package/FrameGraph/frameGraphObjectList.js.map +1 -1
  49. package/FrameGraph/frameGraphRenderContext.d.ts +9 -8
  50. package/FrameGraph/frameGraphRenderContext.js +23 -20
  51. package/FrameGraph/frameGraphRenderContext.js.map +1 -1
  52. package/FrameGraph/frameGraphTask.d.ts +2 -0
  53. package/FrameGraph/frameGraphTask.js +14 -4
  54. package/FrameGraph/frameGraphTask.js.map +1 -1
  55. package/Lights/Shadows/cascadedShadowGenerator.js +4 -1
  56. package/Lights/Shadows/cascadedShadowGenerator.js.map +1 -1
  57. package/Lights/Shadows/shadowGenerator.js +8 -3
  58. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  59. package/Lights/areaLight.d.ts +2 -1
  60. package/Lights/areaLight.js +3 -2
  61. package/Lights/areaLight.js.map +1 -1
  62. package/Lights/directionalLight.d.ts +2 -1
  63. package/Lights/directionalLight.js +3 -2
  64. package/Lights/directionalLight.js.map +1 -1
  65. package/Lights/hemisphericLight.d.ts +2 -1
  66. package/Lights/hemisphericLight.js +3 -2
  67. package/Lights/hemisphericLight.js.map +1 -1
  68. package/Lights/light.d.ts +2 -1
  69. package/Lights/light.js +8 -3
  70. package/Lights/light.js.map +1 -1
  71. package/Lights/lightingVolume.js +11 -6
  72. package/Lights/lightingVolume.js.map +1 -1
  73. package/Lights/pointLight.d.ts +2 -1
  74. package/Lights/pointLight.js +3 -2
  75. package/Lights/pointLight.js.map +1 -1
  76. package/Lights/rectAreaLight.d.ts +2 -1
  77. package/Lights/rectAreaLight.js +3 -2
  78. package/Lights/rectAreaLight.js.map +1 -1
  79. package/Lights/spotLight.d.ts +2 -1
  80. package/Lights/spotLight.js +3 -2
  81. package/Lights/spotLight.js.map +1 -1
  82. package/Loading/Plugins/babylonFileLoader.js +17 -0
  83. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  84. package/Materials/Node/Blocks/Input/inputBlock.js +3 -0
  85. package/Materials/Node/Blocks/Input/inputBlock.js.map +1 -1
  86. package/Materials/Node/nodeMaterial.d.ts +1 -0
  87. package/Materials/Node/nodeMaterial.js +4 -0
  88. package/Materials/Node/nodeMaterial.js.map +1 -1
  89. package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +6 -0
  90. package/Materials/Node/nodeMaterialBuildStateSharedData.js +4 -0
  91. package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
  92. package/Materials/Textures/Loaders/iesTextureLoader.js +1 -1
  93. package/Materials/Textures/Loaders/iesTextureLoader.js.map +1 -1
  94. package/Materials/Textures/Procedurals/proceduralTexture.js +7 -2
  95. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  96. package/Materials/Textures/internalTexture.d.ts +6 -4
  97. package/Materials/Textures/internalTexture.js +6 -4
  98. package/Materials/Textures/internalTexture.js.map +1 -1
  99. package/Materials/Textures/renderTargetTexture.js +2 -2
  100. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  101. package/Materials/Textures/textureSampler.d.ts +3 -3
  102. package/Materials/Textures/textureSampler.js.map +1 -1
  103. package/Misc/minMaxReducer.js +2 -2
  104. package/Misc/minMaxReducer.js.map +1 -1
  105. package/Misc/screenshotTools.d.ts +3 -1
  106. package/Misc/screenshotTools.js +5 -2
  107. package/Misc/screenshotTools.js.map +1 -1
  108. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.d.ts +4 -0
  109. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.js +10 -0
  110. package/Particles/Node/Blocks/Emitters/setupSpriteSheetBlock.js.map +1 -1
  111. package/Particles/Node/Blocks/systemBlock.d.ts +4 -0
  112. package/Particles/Node/Blocks/systemBlock.js +32 -1
  113. package/Particles/Node/Blocks/systemBlock.js.map +1 -1
  114. package/Particles/Node/nodeParticleSystemSet.helper.js +65 -46
  115. package/Particles/Node/nodeParticleSystemSet.helper.js.map +1 -1
  116. package/Particles/thinParticleSystem.js +10 -6
  117. package/Particles/thinParticleSystem.js.map +1 -1
  118. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.js +4 -1
  119. package/PostProcesses/RenderPipeline/Pipelines/taaMaterialManager.js.map +1 -1
  120. package/Probes/reflectionProbe.js +9 -2
  121. package/Probes/reflectionProbe.js.map +1 -1
  122. package/Rendering/depthRenderer.js +7 -2
  123. package/Rendering/depthRenderer.js.map +1 -1
  124. package/Shaders/particles.vertex.js +8 -1
  125. package/Shaders/particles.vertex.js.map +1 -1
  126. package/ShadersWGSL/particles.vertex.js +6 -0
  127. package/ShadersWGSL/particles.vertex.js.map +1 -1
  128. package/package.json +1 -1
  129. package/scene.d.ts +10 -0
  130. package/scene.js +30 -5
  131. package/scene.js.map +1 -1
@@ -1,94 +1,44 @@
1
1
  import { WebGPUEngine } from "../../webgpuEngine.js";
2
- WebGPUEngine.prototype._debugPushGroup = function (groupName, targetObject) {
2
+ WebGPUEngine.prototype._debugPushGroup = function (groupName) {
3
3
  if (!this._options.enableGPUDebugMarkers) {
4
4
  return;
5
5
  }
6
- if (targetObject === 0 || targetObject === 1) {
7
- if (targetObject === 1) {
8
- if (this._currentRenderTarget) {
9
- this.unBindFramebuffer(this._currentRenderTarget);
10
- }
11
- else {
12
- this._endCurrentRenderPass();
13
- }
14
- }
15
- this._renderEncoder.pushDebugGroup(groupName);
6
+ if (this._currentRenderTarget && !this._currentRenderPass) {
7
+ this._startRenderTargetRenderPass(this._currentRenderTarget, false, null, false, false);
16
8
  }
17
- else if (this._currentRenderPass) {
9
+ if (this._currentRenderPass) {
18
10
  this._currentRenderPass.pushDebugGroup(groupName);
19
- this._debugStackRenderPass.push(groupName);
20
11
  }
21
12
  else {
22
- this._pendingDebugCommands.push(["push", groupName, targetObject]);
13
+ this._renderEncoder.pushDebugGroup(groupName);
23
14
  }
24
15
  };
25
- WebGPUEngine.prototype._debugPopGroup = function (targetObject) {
16
+ WebGPUEngine.prototype._debugPopGroup = function () {
26
17
  if (!this._options.enableGPUDebugMarkers) {
27
18
  return;
28
19
  }
29
- if (targetObject === 0 || targetObject === 1) {
30
- if (targetObject === 1) {
31
- if (this._currentRenderTarget) {
32
- this.unBindFramebuffer(this._currentRenderTarget);
33
- }
34
- else {
35
- this._endCurrentRenderPass();
36
- }
37
- }
38
- this._renderEncoder.popDebugGroup();
20
+ if (this._currentRenderTarget && !this._currentRenderPass) {
21
+ this._startRenderTargetRenderPass(this._currentRenderTarget, false, null, false, false);
39
22
  }
40
- else if (this._currentRenderPass) {
23
+ if (this._currentRenderPass) {
41
24
  this._currentRenderPass.popDebugGroup();
42
- this._debugStackRenderPass.pop();
43
25
  }
44
26
  else {
45
- this._pendingDebugCommands.push(["pop", null, targetObject]);
27
+ this._renderEncoder.popDebugGroup();
46
28
  }
47
29
  };
48
- WebGPUEngine.prototype._debugInsertMarker = function (text, targetObject) {
30
+ WebGPUEngine.prototype._debugInsertMarker = function (text) {
49
31
  if (!this._options.enableGPUDebugMarkers) {
50
32
  return;
51
33
  }
52
- if (targetObject === 0 || targetObject === 1) {
53
- if (targetObject === 1) {
54
- if (this._currentRenderTarget) {
55
- this.unBindFramebuffer(this._currentRenderTarget);
56
- }
57
- else {
58
- this._endCurrentRenderPass();
59
- }
60
- }
61
- this._renderEncoder.insertDebugMarker(text);
34
+ if (this._currentRenderTarget && !this._currentRenderPass) {
35
+ this._startRenderTargetRenderPass(this._currentRenderTarget, false, null, false, false);
62
36
  }
63
- else if (this._currentRenderPass) {
37
+ if (this._currentRenderPass) {
64
38
  this._currentRenderPass.insertDebugMarker(text);
65
39
  }
66
40
  else {
67
- this._pendingDebugCommands.push(["insert", text, targetObject]);
68
- }
69
- };
70
- WebGPUEngine.prototype._debugFlushPendingCommands = function () {
71
- if (this._debugStackRenderPass.length !== 0) {
72
- const currentDebugStack = this._debugStackRenderPass.slice();
73
- this._debugStackRenderPass.length = 0;
74
- for (let i = 0; i < currentDebugStack.length; ++i) {
75
- this._debugPushGroup(currentDebugStack[i], 2);
76
- }
77
- }
78
- for (let i = 0; i < this._pendingDebugCommands.length; ++i) {
79
- const [name, param, targetObject] = this._pendingDebugCommands[i];
80
- switch (name) {
81
- case "push":
82
- this._debugPushGroup(param, targetObject);
83
- break;
84
- case "pop":
85
- this._debugPopGroup(targetObject);
86
- break;
87
- case "insert":
88
- this._debugInsertMarker(param, targetObject);
89
- break;
90
- }
41
+ this._renderEncoder.insertDebugMarker(text);
91
42
  }
92
- this._pendingDebugCommands.length = 0;
93
43
  };
94
44
  //# sourceMappingURL=engine.debugging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.debugging.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Engines/WebGPU/Extensions/engine.debugging.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebGPUEngine } from \"../../webgpuEngine\";\r\n\r\nWebGPUEngine.prototype._debugPushGroup = function (groupName: string, targetObject?: number): void {\r\n if (!this._options.enableGPUDebugMarkers) {\r\n return;\r\n }\r\n\r\n if (targetObject === 0 || targetObject === 1) {\r\n if (targetObject === 1) {\r\n if (this._currentRenderTarget) {\r\n this.unBindFramebuffer(this._currentRenderTarget);\r\n } else {\r\n this._endCurrentRenderPass();\r\n }\r\n }\r\n this._renderEncoder.pushDebugGroup(groupName);\r\n } else if (this._currentRenderPass) {\r\n this._currentRenderPass.pushDebugGroup(groupName);\r\n this._debugStackRenderPass.push(groupName);\r\n } else {\r\n this._pendingDebugCommands.push([\"push\", groupName, targetObject]);\r\n }\r\n};\r\n\r\nWebGPUEngine.prototype._debugPopGroup = function (targetObject?: number): void {\r\n if (!this._options.enableGPUDebugMarkers) {\r\n return;\r\n }\r\n\r\n if (targetObject === 0 || targetObject === 1) {\r\n if (targetObject === 1) {\r\n if (this._currentRenderTarget) {\r\n this.unBindFramebuffer(this._currentRenderTarget);\r\n } else {\r\n this._endCurrentRenderPass();\r\n }\r\n }\r\n this._renderEncoder.popDebugGroup();\r\n } else if (this._currentRenderPass) {\r\n this._currentRenderPass.popDebugGroup();\r\n this._debugStackRenderPass.pop();\r\n } else {\r\n this._pendingDebugCommands.push([\"pop\", null, targetObject]);\r\n }\r\n};\r\n\r\nWebGPUEngine.prototype._debugInsertMarker = function (text: string, targetObject?: number): void {\r\n if (!this._options.enableGPUDebugMarkers) {\r\n return;\r\n }\r\n\r\n if (targetObject === 0 || targetObject === 1) {\r\n if (targetObject === 1) {\r\n if (this._currentRenderTarget) {\r\n this.unBindFramebuffer(this._currentRenderTarget);\r\n } else {\r\n this._endCurrentRenderPass();\r\n }\r\n }\r\n this._renderEncoder.insertDebugMarker(text);\r\n } else if (this._currentRenderPass) {\r\n this._currentRenderPass.insertDebugMarker(text);\r\n } else {\r\n this._pendingDebugCommands.push([\"insert\", text, targetObject]);\r\n }\r\n};\r\n\r\nWebGPUEngine.prototype._debugFlushPendingCommands = function (): void {\r\n if (this._debugStackRenderPass.length !== 0) {\r\n const currentDebugStack = this._debugStackRenderPass.slice();\r\n this._debugStackRenderPass.length = 0;\r\n for (let i = 0; i < currentDebugStack.length; ++i) {\r\n this._debugPushGroup(currentDebugStack[i], 2);\r\n }\r\n }\r\n\r\n for (let i = 0; i < this._pendingDebugCommands.length; ++i) {\r\n const [name, param, targetObject] = this._pendingDebugCommands[i];\r\n\r\n switch (name) {\r\n case \"push\":\r\n this._debugPushGroup(param!, targetObject);\r\n break;\r\n case \"pop\":\r\n this._debugPopGroup(targetObject);\r\n break;\r\n case \"insert\":\r\n this._debugInsertMarker(param!, targetObject);\r\n break;\r\n }\r\n }\r\n this._pendingDebugCommands.length = 0;\r\n};\r\n"]}
1
+ {"version":3,"file":"engine.debugging.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Engines/WebGPU/Extensions/engine.debugging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,YAAY,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,SAAiB;IAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACvC,OAAO;IACX,CAAC;IAED,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;AACL,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,CAAC,cAAc,GAAG;IACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACvC,OAAO;IACX,CAAC;IAED,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;AACL,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,IAAY;IAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACvC,OAAO;IACX,CAAC;IAED,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { WebGPUEngine } from \"../../webgpuEngine\";\r\n\r\nWebGPUEngine.prototype._debugPushGroup = function (groupName: string): void {\r\n if (!this._options.enableGPUDebugMarkers) {\r\n return;\r\n }\r\n\r\n if (this._currentRenderTarget && !this._currentRenderPass) {\r\n this._startRenderTargetRenderPass(this._currentRenderTarget, false, null, false, false);\r\n }\r\n\r\n if (this._currentRenderPass) {\r\n this._currentRenderPass.pushDebugGroup(groupName);\r\n } else {\r\n this._renderEncoder.pushDebugGroup(groupName);\r\n }\r\n};\r\n\r\nWebGPUEngine.prototype._debugPopGroup = function (): void {\r\n if (!this._options.enableGPUDebugMarkers) {\r\n return;\r\n }\r\n\r\n if (this._currentRenderTarget && !this._currentRenderPass) {\r\n this._startRenderTargetRenderPass(this._currentRenderTarget, false, null, false, false);\r\n }\r\n\r\n if (this._currentRenderPass) {\r\n this._currentRenderPass.popDebugGroup();\r\n } else {\r\n this._renderEncoder.popDebugGroup();\r\n }\r\n};\r\n\r\nWebGPUEngine.prototype._debugInsertMarker = function (text: string): void {\r\n if (!this._options.enableGPUDebugMarkers) {\r\n return;\r\n }\r\n\r\n if (this._currentRenderTarget && !this._currentRenderPass) {\r\n this._startRenderTargetRenderPass(this._currentRenderTarget, false, null, false, false);\r\n }\r\n\r\n if (this._currentRenderPass) {\r\n this._currentRenderPass.insertDebugMarker(text);\r\n } else {\r\n this._renderEncoder.insertDebugMarker(text);\r\n }\r\n};\r\n"]}
@@ -456,7 +456,7 @@ export class WebGPUTextureManager {
456
456
  if (useOwnCommandEncoder) {
457
457
  commandEncoder = this._device.createCommandEncoder({});
458
458
  }
459
- commandEncoder.pushDebugGroup?.(`copy video to texture - invertY=${invertY}`);
459
+ commandEncoder.pushDebugGroup(`copy video to texture (invertY=${invertY})`);
460
460
  const webgpuHardwareTexture = texture._hardwareTexture;
461
461
  const renderPassDescriptor = {
462
462
  label: `BabylonWebGPUDevice${this._engine.uniqueId}_copyVideoToTexture_${format}_${invertY ? "InvertY" : "DontInvertY"}${texture.label ? "_" + texture.label : ""}`,
@@ -497,7 +497,7 @@ export class WebGPUTextureManager {
497
497
  passEncoder.setBindGroup(0, bindGroup);
498
498
  passEncoder.draw(4, 1, 0, 0);
499
499
  passEncoder.end();
500
- commandEncoder.popDebugGroup?.();
500
+ commandEncoder.popDebugGroup();
501
501
  if (useOwnCommandEncoder) {
502
502
  this._device.queue.submit([commandEncoder.finish()]);
503
503
  commandEncoder = null;
@@ -516,7 +516,6 @@ export class WebGPUTextureManager {
516
516
  if (useOwnCommandEncoder) {
517
517
  commandEncoder = this._device.createCommandEncoder({});
518
518
  }
519
- commandEncoder.pushDebugGroup?.(`internal process texture - invertY=${invertY} premultiplyAlpha=${premultiplyAlpha}`);
520
519
  let gpuTexture;
521
520
  if (WebGPUTextureHelper.IsHardwareTexture(gpuOrHdwTexture)) {
522
521
  gpuTexture = gpuOrHdwTexture.underlyingResource;
@@ -532,6 +531,7 @@ export class WebGPUTextureManager {
532
531
  if (!gpuTexture) {
533
532
  return;
534
533
  }
534
+ commandEncoder.pushDebugGroup(`internal process texture "${gpuTexture.label}" (invertY=${invertY} premultiplyAlpha=${premultiplyAlpha})`);
535
535
  if (useRect) {
536
536
  this._bufferManager.setRawData(this._ubCopyWithOfst, 0, new Float32Array([ofstX, ofstY, rectWidth, rectHeight]), 0, 4 * 4);
537
537
  }
@@ -616,7 +616,7 @@ export class WebGPUTextureManager {
616
616
  else {
617
617
  this._deferredReleaseTextures.push([outputTexture, null]);
618
618
  }
619
- commandEncoder.popDebugGroup?.();
619
+ commandEncoder.popDebugGroup();
620
620
  if (useOwnCommandEncoder) {
621
621
  this._device.queue.submit([commandEncoder.finish()]);
622
622
  commandEncoder = null;
@@ -700,11 +700,11 @@ export class WebGPUTextureManager {
700
700
  if (useOwnCommandEncoder) {
701
701
  commandEncoder = this._device.createCommandEncoder({});
702
702
  }
703
- commandEncoder.pushDebugGroup?.(`create cube mipmaps - ${mipLevelCount} levels`);
703
+ commandEncoder.pushDebugGroup(`create cube mipmaps for "${gpuTexture.label}" (${mipLevelCount} levels)`);
704
704
  for (let f = 0; f < gpuTexture.depthOrArrayLayers; ++f) {
705
705
  this.generateMipmaps(gpuOrHdwTexture, mipLevelCount, f, commandEncoder);
706
706
  }
707
- commandEncoder.popDebugGroup?.();
707
+ commandEncoder.popDebugGroup();
708
708
  if (useOwnCommandEncoder) {
709
709
  this._device.queue.submit([commandEncoder.finish()]);
710
710
  commandEncoder = null;
@@ -716,7 +716,6 @@ export class WebGPUTextureManager {
716
716
  if (useOwnCommandEncoder) {
717
717
  commandEncoder = this._device.createCommandEncoder({});
718
718
  }
719
- commandEncoder.pushDebugGroup?.(`create mipmaps for face #${faceIndex} - ${mipLevelCount} levels`);
720
719
  let gpuTexture;
721
720
  if (WebGPUTextureHelper.IsHardwareTexture(gpuOrHdwTexture)) {
722
721
  gpuTexture = gpuOrHdwTexture.underlyingResource;
@@ -730,6 +729,7 @@ export class WebGPUTextureManager {
730
729
  if (!gpuTexture) {
731
730
  return;
732
731
  }
732
+ commandEncoder.pushDebugGroup(`create mipmaps for "${gpuTexture.label}" (face #${faceIndex} - ${mipLevelCount} levels)`);
733
733
  const format = gpuTexture.format;
734
734
  const [pipeline, bindGroupLayout] = this._getPipeline(format);
735
735
  const is3D = gpuTexture.dimension === "3d" /* WebGPUConstants.TextureDimension.E3d */;
@@ -787,7 +787,7 @@ export class WebGPUTextureManager {
787
787
  passEncoder.draw(4, 1, 0, 0);
788
788
  passEncoder.end();
789
789
  }
790
- commandEncoder.popDebugGroup?.();
790
+ commandEncoder.popDebugGroup();
791
791
  if (useOwnCommandEncoder) {
792
792
  this._device.queue.submit([commandEncoder.finish()]);
793
793
  commandEncoder = null;
@@ -893,7 +893,7 @@ export class WebGPUTextureManager {
893
893
  if (useOwnCommandEncoder) {
894
894
  commandEncoder = this._device.createCommandEncoder({});
895
895
  }
896
- commandEncoder.pushDebugGroup(`resolve MSAA Depth texture${msaaTexture.label ? " - " + msaaTexture.label : ""}`);
896
+ commandEncoder.pushDebugGroup(`resolve MSAA Depth texture "${msaaTexture.label}" to "${outputTexture.label}"`);
897
897
  const renderPassDescriptor = {
898
898
  label: `BabylonWebGPUDevice${this._engine.uniqueId}_resolveMSAADepthTexture${msaaTexture.label ? "_" + msaaTexture.label : ""}`,
899
899
  colorAttachments: [