Spawned from #2062 (comment)
Our current API for declaring operations and read-only properties is not ideal:
required (GPULoadOp or float) depthLoadValue;
required GPUStoreOp depthStoreOp;
boolean depthReadOnly = false;
Problems with it:
- If my attachment doesn't have a depth component, I'm still forced to specify both load and store ops. The store op has to be "store" even though there can be no store performed. Same for stencil.
- If the depth aspect is read-only, I'm still forced to specify the store operation as "store". Same for stencil.
Diagram for understanding the data and validation:
