Partially implemented by #532 (textures only, also I think we can bikeshed the name).
Related to #513, also distantly to #514
#303 introduced the read-only bindings. So technically, today, when there is a STORAGE usage, it could be read-only, or it could be read-write. The difference affects whether we allow any other usage to co-exist within the synchronization scope. Therefore it's difficult to both reason about and properly specify STORAGE usage today.
We could make this entirely clear by splitting the STORAGE_READ out of STORAGE, leaving the latter to be strictly mutable.
Partially implemented by #532 (textures only, also I think we can bikeshed the name).
Related to #513, also distantly to #514
#303 introduced the read-only bindings. So technically, today, when there is a
STORAGEusage, it could be read-only, or it could be read-write. The difference affects whether we allow any other usage to co-exist within the synchronization scope. Therefore it's difficult to both reason about and properly specifySTORAGEusage today.We could make this entirely clear by splitting the
STORAGE_READout ofSTORAGE, leaving the latter to be strictly mutable.