I have custom engine with core webgpu implementation and Babylon WebGPU renderer.
Both engines renders the webgpu visualisation output on canvas side-by-side.
Everything was working fine yesterday evening. This morning all of sudden I noticed that out of the two renderers my custom webgpu rendering goes blank, however the BabylonJS rendering appearing intact.
Further, upon investigation I found the new beta version 5.0.0-beta.8 is available and is causing this behaviour. The 5.0.0-beta.7 works fine.
My custom webgpu engine uses Webgpu types @webgpu/types": "0.1.9"
With 5.0.0-beta.8 here was an error reported in my custom code which I was not expecting as an update of BabylonJS beta.
Following was the error reported:-
ERROR in /Users/parminder.singh/Dev/giraphics/gitlab/typescript-lib-example/src/renderer/webgpu/renderer.ts
./src/renderer/webgpu/renderer.ts 195:8-23
[tsl] ERROR in /Users/ps/Dev/giraphics/gitlab/typescript-lib-example/src/renderer/webgpu/renderer.ts(195,9)
TS2741: Property 'loadOp' is missing in type '{ view: GPUTextureView; loadValue: { r: number; g: number; b: number; a: number; }; storeOp: "store"; }' but required in type 'GPURenderPassColorAttachment'.
@ ./src/graffiti.ts 32:0-69 32:0-69
ERROR in /Users/ps/Dev/giraphics/gitlab/typescript-lib-example/src/renderer/webgpu/renderer.ts
./src/renderer/webgpu/renderer.ts 202:10-25
[tsl] ERROR in /Users/parminder.singh/Dev/giraphics/gitlab/typescript-lib-example/src/renderer/webgpu/renderer.ts(202,11)
TS2739: Type '{ view: GPUTextureView; depthLoadValue: number; depthStoreOp: "store"; stencilLoadValue: "load"; stencilStoreOp: "store"; }' is missing the following properties from type 'GPURenderPassDepthStencilAttachment': depthLoadOp, stencilLoadOp
@ ./src/graffiti.ts 32:0-69 32:0-69
From the below code:-
let colorAttachment: GPURenderPassColorAttachment = {
view: this.colorTextureView,
loadValue: { r: this._backGroundColor[0], g: this._backGroundColor[1], b: this._backGroundColor[2], a: this._backGroundColor[3] },
storeOp: 'store',
};
const depthAttachment: GPURenderPassDepthStencilAttachment = {
view: this.depthTextureView,
depthLoadValue: 1,
depthStoreOp: 'store',
stencilLoadValue: 'load',
stencilStoreOp: 'store',
};
Which I fixed as below:-
let colorAttachment: GPURenderPassColorAttachment = {
view: this.colorTextureView,
loadValue: { r: this._backGroundColor[0], g: this._backGroundColor[1], b: this._backGroundColor[2], a: this._backGroundColor[3] },
storeOp: 'store',
loadOp: 'clear', // Babylon 5.0.0-beta.8 reports this in my custom engine code, why?
};
const depthAttachment: GPURenderPassDepthStencilAttachment = {
view: this.depthTextureView,
depthLoadValue: 1,
depthLoadOp: 'clear', // Babylon 5.0.0-beta.8 reports this in my custom engine code, why?
depthStoreOp: 'store',
stencilLoadOp: 'clear', // Babylon 5.0.0-beta.8 reports this in my custom engine code, why?
stencilLoadValue: 'load',
stencilStoreOp: 'store',
};```
Here is output before with *Babylon 5.0.0-beta.7* and after with *Babylon 5.0.0-beta.8*


Query 1: I am not sure why my WebGPU instance got affected by BabylonJS beta upgrade, its a separate engine with its own context.
Query 2: How can make it fix? is my added code for fixing error looks correct to you, I have tried **'clear'** and **'load'** values but the output remains blank. Kindly suggest.