Roll third_party/gpuweb/ 3c4734b09..0f5fc665a (381 commits)

And update dawn/node accordingly.

https://github.com/gpuweb/gpuweb/compare/3c4734b09c68...0f5fc665a0d5

$ git log 3c4734b09..0f5fc665a --date=short --no-merges --format='%ad %ae %s'
2022-11-25 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@6b7d8f4947618624b65cb6c833d5034a46c1075a 🚀
2022-11-24 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7eea224a851b3d7b481672f2ed70bdcb43129988 🚀
2022-11-23 dneto Deploying to gh-pages from @ gpuweb/gpuweb@c11820e695fbd2e7b3c0094edf0da6d2d884b8db 🚀
2022-11-23 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@162e04d0c027e1350aec96b82cb07cce2341ce32 🚀
2022-11-22 dneto Deploying to gh-pages from @ gpuweb/gpuweb@58a9410e387138ee173327c447fdc0da32075f07 🚀
2022-11-22 dneto Deploying to gh-pages from @ gpuweb/gpuweb@9fa1932d13dc980093b2d3f1016bd10b1e147e1c 🚀
2022-11-22 dneto Deploying to gh-pages from @ gpuweb/gpuweb@39f2321f547c8f0b7f473cf1d47fba30b1691303 🚀
2022-11-21 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@cc0fc37636ddff98cd9c4b93d9d6a09e1ce10567 🚀
2022-11-18 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@684c5104ce067230f49a963b85d3f58f9def95ce 🚀
2022-11-18 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@6049e8fc99b8204e44b7ca14d7bbff02a5730dfb 🚀
2022-11-17 dneto Deploying to gh-pages from @ gpuweb/gpuweb@08126940556cd659ce871755a184d3666e8de2bb 🚀
2022-11-17 dneto Deploying to gh-pages from @ gpuweb/gpuweb@9b656239387a809928bd4452c645345b4119e79b 🚀
2022-11-17 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@30e78fb154fef1d83d7379d7d9dac9b98452f1d3 🚀
2022-11-16 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@8b9da345bd1dbf14183fbc06d3ef6fe0652b64cf 🚀
2022-11-16 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@113555271ff101545ac22265d8859327c90b02b2 🚀
2022-11-13 dneto Deploying to gh-pages from @ gpuweb/gpuweb@9c39cc1f0efb825920c2f04d954e058583e0a927 🚀
2022-11-11 dneto Deploying to gh-pages from @ gpuweb/gpuweb@a3d767aff48acd9e5d3d8f84928119785dab24f1 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@576b7c97c7ec454a90b54dc760526aa5e50dcc05 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@f2fadab356c614cbc7834d33a0c9f4880a4b682c 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@a291e74d7e2ecd7bab3c13d848b4808296da3117 🚀
2022-11-09 dneto Deploying to gh-pages from @ gpuweb/gpuweb@0f69fcba159f1ef6d07b8bc3e9c2347096e7de9d 🚀
2022-11-09 jdashg Deploying to gh-pages from @ gpuweb/gpuweb@f02d667d59a05dbc38badbe498504943e39472dc 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@0fdebc2886b41986bc0547448f649d797efc7a00 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@44164a2c63418b31ebd8e9cbb329404813d43f0f 🚀
2022-11-07 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@a5cebd57727859c7c97a3bf66b7849d5d8fb60c6 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@c322a6fed4b389bc0f87ba9c3998a1b6c96ba3b1 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7ef39cfc0e02701ad6f7db13fc2676220b917b17 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@572fc32a836726f593dd321e7c7eae0963c4fb3d 🚀
2022-11-07 dneto Deploying to gh-pages from @ gpuweb/gpuweb@4bb872ac559547072b69dde55da93833f5b96488 🚀
2022-11-02 dneto Deploying to gh-pages from @ gpuweb/gpuweb@98f851baa4c9c8e539714aca3187642a850a7d36 🚀
2022-11-02 dneto Deploying to gh-pages from @ gpuweb/gpuweb@5c6f64891927941bdc1926a2e7b289863d6db843 🚀
2022-11-02 dneto Deploying to gh-pages from @ gpuweb/gpuweb@bf1d73a0368a42d8de99d8bcec652b87f7ab326d 🚀
2022-11-01 dneto Deploying to gh-pages from @ gpuweb/gpuweb@2371712042dadca77ef1417c17d02c3c7193d0f0 🚀
2022-11-01 dneto Deploying to gh-pages from @ gpuweb/gpuweb@acdc5b3e83430e69af55a3452baa06b286999c70 🚀
2022-11-01 dneto Deploying to gh-pages from @ gpuweb/gpuweb@8304c57556cb1fd3bcfee2242bcbd2ae5fc9a4af 🚀
2022-10-27 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@27c5c15c84d2803ab1468d91d92117ff8e4c2950 🚀
2022-10-26 corentin Deploying to gh-pages from @ gpuweb/gpuweb@4048adbfb3b952f71881ee3079dade37569dff48 🚀
2022-10-26 shaobo.yan Deploying to gh-pages from @ gpuweb/gpuweb@b85a821e2f57511677cb5b93a51103b98eb37037 🚀
2022-10-18 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@63a7a24e4d8eeaca4fb00db20c541bba34a4ed7d 🚀
2022-10-18 dneto Deploying to gh-pages from @ gpuweb/gpuweb@6678c9478d64489186d657707907262f39244d8f 🚀
2022-10-18 dneto Deploying to gh-pages from @ gpuweb/gpuweb@b56d95976d3152f9ea1fa6ee427768c048460c58 🚀
2022-10-18 alanbaker Deploying to gh-pages from @ gpuweb/gpuweb@44cf3bf01cff72aefe01628f7908333d9bdf6f8d 🚀
2022-10-17 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@1e332763cd805a59e2231af645bc4cff3d012c9b 🚀
2022-10-14 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@49eae687bf0448964c614e1d15d167150a9cc6c2 🚀
2022-10-14 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@d7402a1367ff89612a5e3aa246129aa1ddcfeb70 🚀
2022-10-13 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@d2ef870027dffb1300cca72d7209c9c398090fe3 🚀
2022-10-12 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@db76cc3158c7ed9f5e4b080c1d87204dfd8d353d 🚀
2022-10-11 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@823a357986e580e54490b6665e872f0fbb6d1d1d 🚀
2022-10-11 dneto Deploying to gh-pages from @ gpuweb/gpuweb@7857eee214fde7f202b8f120ad99d172bd9039a7 🚀
2022-10-11 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@6f93d67391ab77abede1d4cd64c874fab845aab3 🚀
(...)
2022-06-14 jimb Correct '/' to '.' in 'derive render targets layout from pipeline'. (#3041)
2022-06-14 corentin Deploying to gh-pages from @ gpuweb/gpuweb@d47a377c382923fee23639e9eacab607a94d4b00 🚀
2022-06-14 dsinclair Combine section headers which define the same function (#3020)
2022-06-14 dsinclair Combine section headers which define the same function (#3020)
2022-06-14 dsinclair Combine section headers which define the same function (#3020)
2022-06-14 dneto Deploying to gh-pages from @ gpuweb/gpuweb@e37fc8f57a06b5a15f0bb92c41b26607829011ad 🚀
2022-06-13 mehmetoguzderin Shorthand
2022-06-13 mehmetoguzderin Shorthand
2022-06-13 mehmetoguzderin Shorthand
2022-06-13 mehmetoguzderin Deploying to gh-pages from @ gpuweb/gpuweb@170f891c4b5f7a4a68f20e9113734520f041be4f 🚀
2022-06-13 dneto Add WGSL strict LALR(1) check to CI (#3037)
2022-06-13 dneto Add WGSL strict LALR(1) check to CI (#3037)
2022-06-13 dneto Add WGSL strict LALR(1) check to CI (#3037)
2022-06-13 dneto Deploying to gh-pages from @ gpuweb/gpuweb@edca8002abd2a0ba8ee44a6109822262b4e56bf0 🚀
2022-06-11 kainino editorial nit: specify units for limits where relevant
2022-06-11 kainino editorial nit: specify units for limits where relevant
2022-06-11 kainino editorial nit: specify units for limits where relevant
2022-06-11 tojiro Deploying to gh-pages from @ gpuweb/gpuweb@02dac6eb8a22de193c7128a5c6c354ab6e59d09a 🚀
2022-06-10 dneto Add WGSL grammar analyzer (#2754)
2022-06-10 dneto Add WGSL grammar analyzer (#2754)
2022-06-10 dneto Add WGSL grammar analyzer (#2754)
2022-06-10 dneto Deploying to gh-pages from @ gpuweb/gpuweb@5fec9c77764e36f1ad2e93909fa8f4226e74258e 🚀
2022-06-10 kainino fix typo comparison_sampler -> sampler_comparison
2022-06-10 kainino fix typo comparison_sampler -> sampler_comparison
2022-06-10 kainino fix typo comparison_sampler -> sampler_comparison
2022-06-10 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@d3faddafb97e0375560e363f9fb6580d7da155ba 🚀
2022-06-09 jiawei.shao Ensure the formats supporting multisampling must support rendering (#3018)
2022-06-09 jiawei.shao Ensure the formats supporting multisampling must support rendering (#3018)
2022-06-09 jiawei.shao Ensure the formats supporting multisampling must support rendering (#3018)
2022-06-09 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@6ab558611a4e0822b4b3adc56e9d66cbbeb81ac4 🚀
2022-06-08 dom Align phrasing of Firing an event with DOM (#3019)
2022-06-08 dom Align phrasing of Firing an event with DOM (#3019)
2022-06-08 dom Align phrasing of Firing an event with DOM (#3019)
2022-06-08 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@72ce3910cfd4cdea93425f1208f19accbf61195b 🚀
2022-06-08 dsinclair Move builtin names to section headers. (#3016)
2022-06-08 dsinclair Move builtin names to section headers. (#3016)
2022-06-08 dsinclair Move builtin names to section headers. (#3016)
2022-06-08 bclayton wgsl: Allow phony assignment of abstract numeric type
2022-06-08 bclayton wgsl: Allow phony assignment of abstract numeric type
2022-06-08 bclayton wgsl: Allow phony assignment of abstract numeric type
2022-06-08 bclayton Deploying to gh-pages from @ gpuweb/gpuweb@1cfd17eed1a86fc5ae8c6a6dd0996d77156758d8 🚀
2022-06-07 kainino Add maxColorAttachments missing from GPUSupportedLimits (#2985)
2022-06-07 kainino Add maxColorAttachments missing from GPUSupportedLimits (#2985)
2022-06-07 kainino Add maxColorAttachments missing from GPUSupportedLimits (#2985)
2022-06-07 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@356791fbc08edfc8500afc620122531ae8e8277e 🚀
2022-06-07 kainino Support building multi-file specs with the Bikeshed API (#2856)
2022-06-07 kainino Support building multi-file specs with the Bikeshed API (#2856)
2022-06-07 kainino Support building multi-file specs with the Bikeshed API (#2856)
2022-06-07 kainino1 Deploying to gh-pages from @ gpuweb/gpuweb@22eae8503182af5462fea97d5d5aabb97710bd5c 🚀
2022-06-07 kainino Format internal slots consistently with IDL attributes (#3011)

Created with:
  roll-dep third_party/gpuweb

Change-Id: Iebc959cfe54e64c17e7d6175379dbd2cfe840986
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/111801
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/DEPS b/DEPS
index 03acf89..3915477 100644
--- a/DEPS
+++ b/DEPS
@@ -172,7 +172,7 @@
     'condition': 'dawn_node',
   },
   'third_party/gpuweb': {
-    'url': '{github_git}/gpuweb/gpuweb.git@3c4734b09c68eb800b15da5e9ecefeca735fa7df',
+    'url': '{github_git}/gpuweb/gpuweb.git@0f5fc665a0d5b281e8119f0201e9067b05cf7927',
     'condition': 'dawn_node',
   },
 
diff --git a/src/dawn/node/binding/GPUAdapter.cpp b/src/dawn/node/binding/GPUAdapter.cpp
index a2d7248..c396a6a 100644
--- a/src/dawn/node/binding/GPUAdapter.cpp
+++ b/src/dawn/node/binding/GPUAdapter.cpp
@@ -60,6 +60,7 @@
     X(maxTextureDimension3D)                     \
     X(maxTextureArrayLayers)                     \
     X(maxBindGroups)                             \
+    X(maxBindingsPerBindGroup)                   \
     X(maxDynamicUniformBuffersPerPipelineLayout) \
     X(maxDynamicStorageBuffersPerPipelineLayout) \
     X(maxSampledTexturesPerShaderStage)          \
@@ -72,9 +73,12 @@
     X(minUniformBufferOffsetAlignment)           \
     X(minStorageBufferOffsetAlignment)           \
     X(maxVertexBuffers)                          \
+    X(maxBufferSize)                             \
     X(maxVertexAttributes)                       \
     X(maxVertexBufferArrayStride)                \
     X(maxInterStageShaderComponents)             \
+    X(maxColorAttachments)                       \
+    /* X(maxColorAttachmentBytesPerSample) */    \
     X(maxComputeWorkgroupStorageSize)            \
     X(maxComputeInvocationsPerWorkgroup)         \
     X(maxComputeWorkgroupSizeX)                  \
@@ -214,6 +218,7 @@
             case interop::GPUFeatureName::kShaderF16:
             case interop::GPUFeatureName::kIndirectFirstInstance:
             case interop::GPUFeatureName::kBgra8UnormStorage:
+            case interop::GPUFeatureName::kRg11B10UfloatRenderable:
                 // TODO(dawn:1123) Add support for these extensions when possible.
                 continue;
         }
diff --git a/src/dawn/node/binding/GPUBuffer.cpp b/src/dawn/node/binding/GPUBuffer.cpp
index 0d9718d..9d4a4cb 100644
--- a/src/dawn/node/binding/GPUBuffer.cpp
+++ b/src/dawn/node/binding/GPUBuffer.cpp
@@ -166,6 +166,10 @@
     return buffer_.GetSize();
 }
 
+interop::GPUBufferMapState GPUBuffer::getMapState(Napi::Env) {
+    UNIMPLEMENTED();
+}
+
 interop::GPUBufferUsageFlags GPUBuffer::getUsage(Napi::Env env) {
     interop::GPUBufferUsageFlags result;
 
diff --git a/src/dawn/node/binding/GPUBuffer.h b/src/dawn/node/binding/GPUBuffer.h
index 250f41b..275127f 100644
--- a/src/dawn/node/binding/GPUBuffer.h
+++ b/src/dawn/node/binding/GPUBuffer.h
@@ -53,6 +53,7 @@
     void destroy(Napi::Env) override;
     interop::GPUSize64 getSize(Napi::Env) override;
     interop::GPUBufferUsageFlags getUsage(Napi::Env) override;
+    interop::GPUBufferMapState getMapState(Napi::Env) override;
     std::string getLabel(Napi::Env) override;
     void setLabel(Napi::Env, std::string value) override;
 
diff --git a/src/dawn/node/binding/GPUSupportedLimits.cpp b/src/dawn/node/binding/GPUSupportedLimits.cpp
index 83a5cb2..31682ad 100644
--- a/src/dawn/node/binding/GPUSupportedLimits.cpp
+++ b/src/dawn/node/binding/GPUSupportedLimits.cpp
@@ -44,6 +44,10 @@
     return limits_.limits.maxBindGroups;
 }
 
+uint32_t GPUSupportedLimits::getMaxBindingsPerBindGroup(Napi::Env) {
+    return limits_.limits.maxBindingsPerBindGroup;
+}
+
 uint32_t GPUSupportedLimits::getMaxDynamicUniformBuffersPerPipelineLayout(Napi::Env) {
     return limits_.limits.maxDynamicUniformBuffersPerPipelineLayout;
 }
@@ -92,6 +96,10 @@
     return limits_.limits.maxVertexBuffers;
 }
 
+uint64_t GPUSupportedLimits::getMaxBufferSize(Napi::Env) {
+    return limits_.limits.maxBufferSize;
+}
+
 uint32_t GPUSupportedLimits::getMaxVertexAttributes(Napi::Env) {
     return limits_.limits.maxVertexAttributes;
 }
@@ -105,8 +113,16 @@
 }
 
 uint32_t GPUSupportedLimits::getMaxInterStageShaderVariables(Napi::Env) {
+    return limits_.limits.maxInterStageShaderVariables;
+}
+
+uint32_t GPUSupportedLimits::getMaxColorAttachments(Napi::Env) {
+    return limits_.limits.maxColorAttachments;
+}
+
+uint32_t GPUSupportedLimits::getMaxColorAttachmentBytesPerSample(Napi::Env) {
     UNIMPLEMENTED();
-    // return limits_.limits.maxInterStageShaderVariables;
+    // return limits_.limits.maxColorAttachmentBytesPerSample;
 }
 
 uint32_t GPUSupportedLimits::getMaxComputeWorkgroupStorageSize(Napi::Env) {
diff --git a/src/dawn/node/binding/GPUSupportedLimits.h b/src/dawn/node/binding/GPUSupportedLimits.h
index 246da4d..3041d61 100644
--- a/src/dawn/node/binding/GPUSupportedLimits.h
+++ b/src/dawn/node/binding/GPUSupportedLimits.h
@@ -34,6 +34,7 @@
     uint32_t getMaxTextureDimension3D(Napi::Env) override;
     uint32_t getMaxTextureArrayLayers(Napi::Env) override;
     uint32_t getMaxBindGroups(Napi::Env) override;
+    uint32_t getMaxBindingsPerBindGroup(Napi::Env) override;
     uint32_t getMaxDynamicUniformBuffersPerPipelineLayout(Napi::Env) override;
     uint32_t getMaxDynamicStorageBuffersPerPipelineLayout(Napi::Env) override;
     uint32_t getMaxSampledTexturesPerShaderStage(Napi::Env) override;
@@ -46,10 +47,13 @@
     uint32_t getMinUniformBufferOffsetAlignment(Napi::Env) override;
     uint32_t getMinStorageBufferOffsetAlignment(Napi::Env) override;
     uint32_t getMaxVertexBuffers(Napi::Env) override;
+    uint64_t getMaxBufferSize(Napi::Env) override;
     uint32_t getMaxVertexAttributes(Napi::Env) override;
     uint32_t getMaxVertexBufferArrayStride(Napi::Env) override;
     uint32_t getMaxInterStageShaderComponents(Napi::Env) override;
     uint32_t getMaxInterStageShaderVariables(Napi::Env) override;
+    uint32_t getMaxColorAttachments(Napi::Env) override;
+    uint32_t getMaxColorAttachmentBytesPerSample(Napi::Env) override;
     uint32_t getMaxComputeWorkgroupStorageSize(Napi::Env) override;
     uint32_t getMaxComputeInvocationsPerWorkgroup(Napi::Env) override;
     uint32_t getMaxComputeWorkgroupSizeX(Napi::Env) override;
diff --git a/webgpu-cts/expectations.txt b/webgpu-cts/expectations.txt
index 56216a9..956ce88 100644
--- a/webgpu-cts/expectations.txt
+++ b/webgpu-cts/expectations.txt
@@ -347,6 +347,7 @@
 crbug.com/tint/0000 [ intel-gen-9 target-cpu-64 ] webgpu:shader,validation,parse,identifiers:identifiers:* [ Failure ]
 crbug.com/tint/0000 [ nvidia-0x2184 target-cpu-32 ] webgpu:shader,validation,parse,identifiers:identifiers:* [ Failure ]
 crbug.com/tint/0000 [ nvidia-0x2184 target-cpu-64 ] webgpu:shader,validation,parse,identifiers:identifiers:* [ Failure ]
+crbug.com/tint/1771 webgpu:api,validation,compute_pipeline:overrides,workgroup_size,limits,* [ Failure ]
 
 ################################################################################
 # API operation failures
@@ -465,7 +466,6 @@
 crbug.com/dawn/0000 [ target-cpu-32 ] webgpu:api,operation,buffers,map_oom:mapAsync:oom=true;size=137438953472 [ Failure ]
 crbug.com/dawn/0000 [ target-cpu-32 ] webgpu:api,operation,buffers,map_oom:mapAsync:oom=true;size=9007199254740984 [ Failure ]
 crbug.com/dawn/0000 webgpu:api,operation,shader_module,compilation_info:line_number_and_position:valid=false;name="carriage-return" [ Failure ]
-crbug.com/dawn/0000 webgpu:api,validation,compute_pipeline:overrides,workgroup_size,limits,* [ Failure ]
 crbug.com/dawn/0000 webgpu:api,validation,createBindGroupLayout:multisampled_validation:viewDimension="2d" [ Failure ]
 crbug.com/dawn/0000 webgpu:api,validation,createBindGroupLayout:multisampled_validation:viewDimension="_undef_" [ Failure ]
 crbug.com/dawn/0000 webgpu:api,validation,encoding,encoder_state:pass_end_twice: [ Failure ]