WebNN: add buffer usages for DML backend
Exposes MLBufferUsageFlags to MLBufferDescriptor and adds new usages to
maximize device memory bandwidth. After this change, createBuffer()
assumes "no usage" by default. To readBuffer() or writeBuffer(), the
corresponding usage flag must be specified by the web developer.
Combining usages is allowed but could be inefficient. Usages are
always validated even if a backend doesn't use it.
Bug: 343638938
Change-Id: I4d78e3f8bacd7cbabce3038c234c062c7c07b095
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5787041
Commit-Queue: Bryan Bernhart bryan.bernhart@intel.com
Reviewed-by: Alex Gough ajgo@chromium.org
Reviewed-by: ningxin hu ningxin.hu@intel.com
Reviewed-by: Austin Sullivan asully@chromium.org
Cr-Commit-Position: refs/heads/main@{#1344910}