Updates from Chromium contributors since mid-February

Hey all,

We usually present status updates at the face-to-face meetings. Since the
F2F that was supposed to happen in May was cancelled, here's a list of the
biggest updates since last F2F from Chromium contributors. There's a lot
here, so I might have forgotten some contributions. Enjoy, and let us know
if you have any questions!

WebGPU Spec:

   - Validation rules for for copies from/to buffers/textures (Jiawei)
   - Investigation and proposal for queries (Hao Li, Intel)
   - Investigation and proposal for copying and sampling depth textures
   (Jiawei)
   - Investigation and proposal for comparison samplers (Austin)
   - Refactor of the spec and introduction of the "valid usage" convention
   (Kai)
   - Spec for mapAsync (Corentin)

WGSL Spec:

   - Spec released to github
   - Spec converted from asciidoctor to bikeshed
   - Cleanups to various parts of the spec
   - Described variable loads and stores
   - Described switch statements
   - Described loop, break, continue and continuing
   - Described the return statement


CTS:

   - Added comprehensive tests for texture zero-intialization (Austin)
   - Wrote shader robust access tests (Corentin)
   - Tests for copyImageBitmapToTexture (Shaobo)
   - Addition of a glsl-dependent branch to avoid losing test coverage on
   Chromium (Kai)
   - Updates to match the evolution of WebGPU as of today (Kai)
   - Reorganized the folder structure (Kai)
   - Reftest for presenting to a canvas (Shaobo, Kai)

Tint:

   - Tint open sourced
   - AST representation completed
   - WGSL Reader complete to original spec
   - SPIR-V Reader progressing, working through block structure
   - WGSL Writer complete to original spec
   - SPIR-V Writer started
   - Computeboids compiles to SPIR-V without validation error (requires
   spec decision for ArrayStride)


Chromium:

   - copyImageBitmapToTexture via the CPU path and a limited GPU path
   (Shaobo)
   - Updates to support all changes to WebGPU as of today (Kai)
   - Injection of frame boundary for better PIX debugging (Rafael)
   - Lazy zero initialization for swapchain textures (natasha)

Dawn WebGPU features:

   -
   - Support unbounded binding numbers in bindgroups (Austin)
   - Progress on storage texture (Jiawei Shao, Intel)
   - Comparison samplers (Austin)
   - Evolved Dawn's API to match WebGPU's changes (Corentin)

Other Dawn improvements:

   - Several D3D12 descriptor allocation optimizations (Bryan)
   - Vulkan descriptor allocation optimizations (Austin)
   - D3D12 residency management (Brandon)
   - Added CMake support (Corentin)
   - Slab allocation for bindgroup data (Austin)
   - "wire" robustness and support for extension structs (Austin)
   - Introduced surface-based swapchains and implemented them on Metal
   (Corentin)

Cheers,

Corentin

Received on Wednesday, 6 May 2020 13:16:20 UTC