Skip to content

Commit

Permalink
Version update 6.36.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Babylon.js Platform committed Dec 28, 2023
1 parent a0801fa commit 74145ad
Show file tree
Hide file tree
Showing 34 changed files with 348 additions and 178 deletions.
204 changes: 180 additions & 24 deletions .build/changelog.json
Original file line number Diff line number Diff line change
@@ -1,38 +1,158 @@
{
"fromTag": "6.34.3",
"fromTag": "6.35.0",
"changelog": {
"6.34.3": [
"6.36.0": [
{
"pr": "14624",
"title": "WebGPU: Add support for GPU timing for compute shaders, render targets and main render pass",
"description": "This PR adds a `gpuTimeInFrame` property on `ComputeShader`, `RenderTargetWrapper` and `WebGPUEngine` and is updated with the corresponding GPU time for the last frame (for `WebGPUEngine`, it is the time we spend in the main render pass).\r\n\r\nFor this to work, the \"timestamp-query\" extension must be supported by the browser and enabled when creating the device (the Playground does it automatically if the browser supports it, because it enables all supported extensions). At the time, only Canary supports it. You must enable the feature at runtime by doing `engine.enableGPUTimingMeasurements = true` (will do nothing in WebGL of course!).\r\n\r\n![image](https://github.com/BabylonJS/Babylon.js/assets/4152247/e06e6beb-9ea1-4b5b-a5e2-008b69cb8385)\r\n\r\nI also performed some changes so that we don't generate errors for mapped buffers when the device is destroyed.\r\n",
"pr": "14652",
"title": "WebGPU: Fix breaking change in the constructor of ComputeShader",
"description": null,
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Compute/computeShader.ts",
"packages/dev/core/src/Engines/Extensions/engine.computeShader.ts",
"packages/dev/core/src/Engines/Extensions/engine.multiRender.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.computeShader.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.multiRender.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.storageBuffer.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuBufferManager.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuOcclusionQuery.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuPerfCounter.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuQuerySet.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuRenderTargetWrapper.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuTimestampQuery.ts",
"packages/dev/core/src/Engines/index.ts",
"packages/dev/core/src/Compute/computeShader.ts"
],
"tags": [
"bug",
"WebGPU"
]
},
{
"pr": "14651",
"title": "ProceduralTexture: Add options when creating a (custom) procedural texture",
"description": "See https://forum.babylonjs.com/t/how-to-make-the-render-result-type-of-customproceduretexture-float/46724",
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Materials/Textures/Procedurals/customProceduralTexture.ts",
"packages/dev/core/src/Materials/Textures/Procedurals/proceduralTexture.ts"
],
"tags": [
"enhancement",
"texture"
]
},
{
"pr": "14649",
"title": "fix comments",
"description": "just fix comments",
"author": {
"name": "Starryi",
"url": "https://github.com/Starryi"
},
"files": [
"packages/dev/core/src/Materials/Node/nodeMaterial.ts"
],
"tags": []
},
{
"pr": "14647",
"title": "DynamicTexture: Add a dispose method",
"description": "See https://forum.babylonjs.com/t/detached-element-memory-leak-when-disposing-dynamic-textures/46668",
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Engines/ICanvas.ts",
"packages/dev/core/src/Materials/Textures/dynamicTexture.ts"
],
"tags": [
"enhancement",
"texture"
]
},
{
"pr": "14646",
"title": "SSR: Add support for world/unsigned normals",
"description": null,
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.ts",
"packages/dev/core/src/Shaders/screenSpaceReflection2.fragment.fx"
],
"tags": [
"enhancement",
"post-process"
]
},
{
"pr": "14645",
"title": "GeometryBufferRenderer: Add a getter for \"unsigned normals\"",
"description": null,
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Rendering/geometryBufferRenderer.ts"
],
"tags": [
"enhancement",
"rendering engine"
]
},
{
"pr": "14644",
"title": "GeometryBufferRenderer: Allow to define texture type and format",
"description": "I also added a capability to know if RG11B10UFloat is color renderable.",
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Engines/engineCapabilities.ts",
"packages/dev/core/src/Engines/nativeEngine.ts",
"packages/dev/core/src/Engines/nullEngine.ts",
"packages/dev/core/src/Engines/thinEngine.ts",
"packages/dev/core/src/Engines/webgpuEngine.ts",
"packages/dev/core/src/LibDeclarations/webgpu.d.ts",
"packages/dev/core/src/Materials/Textures/multiRenderTarget.ts",
"packages/dev/core/src/Misc/perfCounter.ts",
"packages/dev/core/src/Particles/computeShaderParticleSystem.ts",
"packages/dev/core/src/Shaders/ShadersInclude/pbrBlockSubSurface.fx"
"packages/dev/core/src/Rendering/geometryBufferRenderer.ts",
"packages/dev/core/src/Rendering/geometryBufferRendererSceneComponent.ts",
"packages/dev/core/src/Shaders/geometry.fragment.fx"
],
"tags": [
"new feature",
"enhancement",
"rendering engine"
]
},
{
"pr": "14642",
"title": "Incremental bounding box scaling",
"description": "followup https://forum.babylonjs.com/t/incremental-snapping-for-bbox-gizmo/46527/3",
"author": {
"name": "CedricGuillemet",
"url": "https://github.com/CedricGuillemet"
},
"files": [
"packages/dev/core/src/Gizmos/boundingBoxGizmo.ts"
],
"tags": [
"enhancement",
"gizmos"
]
},
{
"pr": "14640",
"title": "WebGPU: Inject dynamic and uniform buffer extensions in WebGPU engine",
"description": "Replaces #14639 ",
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.dynamicBuffer.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.uniformBuffer.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/index.ts",
"packages/dev/core/src/Engines/webgpuEngine.ts"
],
"tags": [
"enhancement",
"WebGPU"
]
}
Expand Down Expand Up @@ -172,6 +292,42 @@
]
}
],
"6.34.3": [
{
"pr": "14624",
"title": "WebGPU: Add support for GPU timing for compute shaders, render targets and main render pass",
"description": "This PR adds a `gpuTimeInFrame` property on `ComputeShader`, `RenderTargetWrapper` and `WebGPUEngine` and is updated with the corresponding GPU time for the last frame (for `WebGPUEngine`, it is the time we spend in the main render pass).\r\n\r\nFor this to work, the \"timestamp-query\" extension must be supported by the browser and enabled when creating the device (the Playground does it automatically if the browser supports it, because it enables all supported extensions). At the time, only Canary supports it. You must enable the feature at runtime by doing `engine.enableGPUTimingMeasurements = true` (will do nothing in WebGL of course!).\r\n\r\n![image](https://github.com/BabylonJS/Babylon.js/assets/4152247/e06e6beb-9ea1-4b5b-a5e2-008b69cb8385)\r\n\r\nI also performed some changes so that we don't generate errors for mapped buffers when the device is destroyed.\r\n",
"author": {
"name": "Popov72",
"url": "https://github.com/Popov72"
},
"files": [
"packages/dev/core/src/Compute/computeShader.ts",
"packages/dev/core/src/Engines/Extensions/engine.computeShader.ts",
"packages/dev/core/src/Engines/Extensions/engine.multiRender.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.computeShader.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.multiRender.ts",
"packages/dev/core/src/Engines/WebGPU/Extensions/engine.storageBuffer.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuBufferManager.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuOcclusionQuery.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuPerfCounter.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuQuerySet.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuRenderTargetWrapper.ts",
"packages/dev/core/src/Engines/WebGPU/webgpuTimestampQuery.ts",
"packages/dev/core/src/Engines/index.ts",
"packages/dev/core/src/Engines/webgpuEngine.ts",
"packages/dev/core/src/LibDeclarations/webgpu.d.ts",
"packages/dev/core/src/Materials/Textures/multiRenderTarget.ts",
"packages/dev/core/src/Misc/perfCounter.ts",
"packages/dev/core/src/Particles/computeShaderParticleSystem.ts",
"packages/dev/core/src/Shaders/ShadersInclude/pbrBlockSubSurface.fx"
],
"tags": [
"new feature",
"WebGPU"
]
}
],
"6.34.2": [
{
"pr": "14627",
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 6.36.0

### Core

- WebGPU: Fix breaking change in the constructor of ComputeShader - [_Bug Fix_] by [Popov72](https://github.com/Popov72) ([#14652](https://github.com/BabylonJS/Babylon.js/pull/14652))
- ProceduralTexture: Add options when creating a (custom) procedural texture - by [Popov72](https://github.com/Popov72) ([#14651](https://github.com/BabylonJS/Babylon.js/pull/14651))
- fix comments - by [Starryi](https://github.com/Starryi) ([#14649](https://github.com/BabylonJS/Babylon.js/pull/14649))
- DynamicTexture: Add a dispose method - by [Popov72](https://github.com/Popov72) ([#14647](https://github.com/BabylonJS/Babylon.js/pull/14647))
- SSR: Add support for world/unsigned normals - by [Popov72](https://github.com/Popov72) ([#14646](https://github.com/BabylonJS/Babylon.js/pull/14646))
- GeometryBufferRenderer: Add a getter for "unsigned normals" - by [Popov72](https://github.com/Popov72) ([#14645](https://github.com/BabylonJS/Babylon.js/pull/14645))
- GeometryBufferRenderer: Allow to define texture type and format - by [Popov72](https://github.com/Popov72) ([#14644](https://github.com/BabylonJS/Babylon.js/pull/14644))
- Incremental bounding box scaling - by [CedricGuillemet](https://github.com/CedricGuillemet) ([#14642](https://github.com/BabylonJS/Babylon.js/pull/14642))
- WebGPU: Inject dynamic and uniform buffer extensions in WebGPU engine - by [Popov72](https://github.com/Popov72) ([#14640](https://github.com/BabylonJS/Babylon.js/pull/14640))

## 6.35.0

### Core
Expand Down

0 comments on commit 74145ad

Please sign in to comment.