WebGPU: Implement chromium-experimental-sampling-resource-table [chromium/src : main]

0 views
Skip to first unread message

Corentin Wallez (Gerrit)

unread,
Jul 23, 2026, 3:18:10 PM (22 hours ago) Jul 23
to Raphael Kubo da Costa, chromium...@chromium.org, Kentaro Hara, kinuko...@chromium.org, blink-revie...@chromium.org, jmedle...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, kainin...@chromium.org

Corentin Wallez has uploaded the change for review

Commit message

WebGPU: Implement chromium-experimental-sampling-resource-table
Bug: 538168236
Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a

Change diff


Change information

Files:
  • M gpu/command_buffer/service/webgpu_decoder_impl.cc
  • M third_party/blink/renderer/bindings/generated_in_modules.gni
  • M third_party/blink/renderer/bindings/idl_in_modules.gni
  • M third_party/blink/renderer/modules/webgpu/BUILD.gn
  • M third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.cc
  • M third_party/blink/renderer/modules/webgpu/gpu_command_encoder.cc
  • M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.cc
  • M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.h
  • M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
  • M third_party/blink/renderer/modules/webgpu/gpu_device.cc
  • M third_party/blink/renderer/modules/webgpu/gpu_device.h
  • M third_party/blink/renderer/modules/webgpu/gpu_device.idl
  • M third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.cc
  • M third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout_descriptor.idl
  • M third_party/blink/renderer/modules/webgpu/gpu_render_pass_descriptor.idl
  • A third_party/blink/renderer/modules/webgpu/gpu_resource_table.cc
  • A third_party/blink/renderer/modules/webgpu/gpu_resource_table.h
  • A third_party/blink/renderer/modules/webgpu/gpu_resource_table.idl
  • M third_party/blink/renderer/modules/webgpu/gpu_supported_features.cc
  • M third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl
Change size: L
Delta: 20 files changed, 314 insertions(+), 16 deletions(-)
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newchange
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
Gerrit-Change-Number: 8137847
Gerrit-PatchSet: 1
Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Corentin Wallez (Gerrit)

unread,
Jul 23, 2026, 3:19:28 PM (22 hours ago) Jul 23
to Loko Kung, Fr, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
Attention needed from Loko Kung

Corentin Wallez added 1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Corentin Wallez . resolved

PTAL!

Open in Gerrit

Related details

Attention is currently required from:
  • Loko Kung
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
Gerrit-Change-Number: 8137847
Gerrit-PatchSet: 1
Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
Gerrit-Reviewer: Loko Kung <loko...@google.com>
Gerrit-CC: Fr <beaufort...@gmail.com>
Gerrit-CC: Kentaro Hara <har...@chromium.org>
Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
Gerrit-Attention: Loko Kung <loko...@google.com>
Gerrit-Comment-Date: Thu, 23 Jul 2026 19:19:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Loko Kung (Gerrit)

unread,
Jul 23, 2026, 5:02:18 PM (20 hours ago) Jul 23
to Corentin Wallez, Fr, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
Attention needed from Corentin Wallez

Loko Kung voted and added 2 comments

Votes added by Loko Kung

Code-Review+1

2 comments

File third_party/blink/renderer/modules/webgpu/gpu_command_encoder.cc
Line 308, Patchset 1 (Latest): // TODO(https://crbug.com/435317394): The extension struct exposed by webgpu.h
Loko Kung . unresolved

nit. Use the*

File third_party/blink/renderer/modules/webgpu/gpu_resource_table.cc
Line 1, Patchset 1 (Latest):// Copyright 2019 The Chromium Authors
Loko Kung . unresolved

nit. 2026

Open in Gerrit

Related details

Attention is currently required from:
  • Corentin Wallez
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
    Gerrit-Change-Number: 8137847
    Gerrit-PatchSet: 1
    Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
    Gerrit-Reviewer: Loko Kung <loko...@google.com>
    Gerrit-CC: Fr <beaufort...@gmail.com>
    Gerrit-CC: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
    Gerrit-Attention: Corentin Wallez <cwa...@chromium.org>
    Gerrit-Comment-Date: Thu, 23 Jul 2026 21:01:51 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Fr (Gerrit)

    unread,
    3:38 AM (10 hours ago) 3:38 AM
    to Corentin Wallez, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
    Attention needed from Corentin Wallez

    Fr added 5 comments

    File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
    Line 12, Patchset 1 (Latest): [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
    Fr . unresolved

    Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

    Line 21, Patchset 1 (Latest):
    Fr . unresolved

    Nit: remove empty line

    File third_party/blink/renderer/modules/webgpu/gpu_resource_table.cc
    Line 53, Patchset 1 (Latest): exception_state.ThrowTypeError(
    Fr . unresolved

    Shall we have a TODO to address this?

    Line 106, Patchset 1 (Latest): wgpu::BindingResource dawn_resource = AsDawnType(resource, exception_state);
    Fr . unresolved

    Throwing an exception on ExceptionState does not abort C++ execution, you should have something like:

    ```cpp
    wgpu::BindingResource dawn_resource = AsDawnType(resource, exception_state);
    if (exception_state.HadException()) {
    return;
    }
    ```

    Same for `insert()` below

    File third_party/blink/renderer/modules/webgpu/gpu_resource_table.idl
    Line 18, Patchset 1 (Latest): [RaisesException] void update(GPUIndex32 slot, GPUBindingResource resource);
    [RaisesException] GPUIndex32 insert(GPUBindingResource resource);
    [RaisesException] void remove(GPUIndex32 slot);
    Fr . unresolved

    Use `undefined` not `void` for consistency with other WebGPU methods.

    Gerrit-Comment-Date: Fri, 24 Jul 2026 07:38:22 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Corentin Wallez (Gerrit)

    unread,
    5:16 AM (8 hours ago) 5:16 AM
    to Loko Kung, Fr, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
    Attention needed from Fr

    Corentin Wallez added 7 comments

    File third_party/blink/renderer/modules/webgpu/gpu_command_encoder.cc
    Line 308, Patchset 1 (Latest): // TODO(https://crbug.com/435317394): The extension struct exposed by webgpu.h
    Loko Kung . resolved

    nit. Use the*

    Corentin Wallez

    Done

    File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
    Line 12, Patchset 1 (Latest): [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
    Fr . resolved

    Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

    Corentin Wallez

    It's a leftover from a previous version of the proposal that I forgot to fix. I guess we can keep like this and see later fixed to handle null in the implementation though.

    Fr . resolved

    Nit: remove empty line

    Corentin Wallez

    Done

    File third_party/blink/renderer/modules/webgpu/gpu_resource_table.cc
    Line 1, Patchset 1 (Latest):// Copyright 2019 The Chromium Authors
    Loko Kung . resolved

    nit. 2026

    Corentin Wallez

    Done

    Line 53, Patchset 1 (Latest): exception_state.ThrowTypeError(
    Fr . resolved

    Shall we have a TODO to address this?

    Corentin Wallez

    We are likely never going to add external textures to resource tables. Because they are composite bindings they are too difficult to handle.

    Line 106, Patchset 1 (Latest): wgpu::BindingResource dawn_resource = AsDawnType(resource, exception_state);
    Fr . resolved

    Throwing an exception on ExceptionState does not abort C++ execution, you should have something like:

    ```cpp
    wgpu::BindingResource dawn_resource = AsDawnType(resource, exception_state);
    if (exception_state.HadException()) {
    return;
    }
    ```

    Same for `insert()` below

    Corentin Wallez

    Done

    File third_party/blink/renderer/modules/webgpu/gpu_resource_table.idl
    Line 18, Patchset 1 (Latest): [RaisesException] void update(GPUIndex32 slot, GPUBindingResource resource);
    [RaisesException] GPUIndex32 insert(GPUBindingResource resource);
    [RaisesException] void remove(GPUIndex32 slot);
    Fr . resolved

    Use `undefined` not `void` for consistency with other WebGPU methods.

    Corentin Wallez

    Looking at `gpu_buffer.idl` and `gpu_compute_pass_encoder.idl` we seem to use `void` consistently in Blink so keeping as is.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Fr
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
      Gerrit-Change-Number: 8137847
      Gerrit-PatchSet: 1
      Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
      Gerrit-Reviewer: Loko Kung <loko...@google.com>
      Gerrit-CC: Fr <beaufort...@gmail.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-Attention: Fr <beaufort...@gmail.com>
      Gerrit-Comment-Date: Fri, 24 Jul 2026 09:16:37 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Fr <beaufort...@gmail.com>
      Comment-In-Reply-To: Loko Kung <loko...@google.com>
      satisfied_requirement
      open
      diffy

      Corentin Wallez (Gerrit)

      unread,
      5:17 AM (8 hours ago) 5:17 AM
      to Loko Kung, Fr, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
      Attention needed from Fr

      Corentin Wallez voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Fr
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
      Gerrit-Change-Number: 8137847
      Gerrit-PatchSet: 2
      Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
      Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
      Gerrit-Reviewer: Loko Kung <loko...@google.com>
      Gerrit-CC: Fr <beaufort...@gmail.com>
      Gerrit-CC: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
      Gerrit-Attention: Fr <beaufort...@gmail.com>
      Gerrit-Comment-Date: Fri, 24 Jul 2026 09:17:35 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Fr (Gerrit)

      unread,
      5:26 AM (8 hours ago) 5:26 AM
      to Corentin Wallez, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
      Attention needed from Corentin Wallez

      Fr voted and added 3 comments

      Votes added by Fr

      Code-Review+1

      3 comments

      Patchset-level comments
      File-level comment, Patchset 2 (Latest):
      Fr . resolved

      LGTM with nits

      File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
      Line 12, Patchset 1: [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
      Fr . unresolved

      Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

      Corentin Wallez

      It's a leftover from a previous version of the proposal that I forgot to fix. I guess we can keep like this and see later fixed to handle null in the implementation though.

      Fr

      It seems like you now check `nullptr` in `GPUComputePassEncoder::setResourceTable`. Why not in the IDL then?

      File third_party/blink/renderer/modules/webgpu/gpu_resource_table.idl
      Line 18, Patchset 1: [RaisesException] void update(GPUIndex32 slot, GPUBindingResource resource);

      [RaisesException] GPUIndex32 insert(GPUBindingResource resource);
      [RaisesException] void remove(GPUIndex32 slot);
      Fr . unresolved

      Use `undefined` not `void` for consistency with other WebGPU methods.

      Corentin Wallez

      Looking at `gpu_buffer.idl` and `gpu_compute_pass_encoder.idl` we seem to use `void` consistently in Blink so keeping as is.

      Fr

      In that case, update `undefined destroy` to `void destroy` above

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Corentin Wallez
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
        Gerrit-Change-Number: 8137847
        Gerrit-PatchSet: 2
        Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Fr <beaufort...@gmail.com>
        Gerrit-Reviewer: Loko Kung <loko...@google.com>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-Attention: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Comment-Date: Fri, 24 Jul 2026 09:26:23 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Fr <beaufort...@gmail.com>
        Comment-In-Reply-To: Corentin Wallez <cwa...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Corentin Wallez (Gerrit)

        unread,
        5:43 AM (7 hours ago) 5:43 AM
        to Fr, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
        Attention needed from Fr

        Corentin Wallez voted and added 2 comments

        Votes added by Corentin Wallez

        Commit-Queue+1

        2 comments

        File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
        Line 12, Patchset 1: [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
        Fr . unresolved

        Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

        Corentin Wallez

        It's a leftover from a previous version of the proposal that I forgot to fix. I guess we can keep like this and see later fixed to handle null in the implementation though.

        Fr

        It seems like you now check `nullptr` in `GPUComputePassEncoder::setResourceTable`. Why not in the IDL then?

        Corentin Wallez

        The code checks it to call `SetResourceTable(nullptr)` which is actually supported in Dawn at the moment and unsets the resource table for the rest of the compute encoder, so it's handling both cases of the `?` or am I missing something?

        File third_party/blink/renderer/modules/webgpu/gpu_resource_table.idl
        Line 18, Patchset 1: [RaisesException] void update(GPUIndex32 slot, GPUBindingResource resource);
        [RaisesException] GPUIndex32 insert(GPUBindingResource resource);
        [RaisesException] void remove(GPUIndex32 slot);
        Fr . resolved

        Use `undefined` not `void` for consistency with other WebGPU methods.

        Corentin Wallez

        Looking at `gpu_buffer.idl` and `gpu_compute_pass_encoder.idl` we seem to use `void` consistently in Blink so keeping as is.

        Fr

        In that case, update `undefined destroy` to `void destroy` above

        Corentin Wallez

        Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Fr
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
        Gerrit-Change-Number: 8137847
        Gerrit-PatchSet: 3
        Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Fr <beaufort...@gmail.com>
        Gerrit-Reviewer: Loko Kung <loko...@google.com>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-Attention: Fr <beaufort...@gmail.com>
        Gerrit-Comment-Date: Fri, 24 Jul 2026 09:42:55 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Fr (Gerrit)

        unread,
        5:46 AM (7 hours ago) 5:46 AM
        to Corentin Wallez, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
        Attention needed from Corentin Wallez

        Fr voted and added 1 comment

        Votes added by Fr

        Code-Review+1

        1 comment

        File third_party/blink/renderer/modules/webgpu/gpu_device.cc
        Line 582, Patchset 3 (Latest):GPUResourceTable* GPUDevice::createResourceTable(
        Fr . unresolved

        I've just realized we were missing this check:
        > - if desc.size > 65536 throw a RangeError and return.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Corentin Wallez
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
        Gerrit-Change-Number: 8137847
        Gerrit-PatchSet: 3
        Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Fr <beaufort...@gmail.com>
        Gerrit-Reviewer: Loko Kung <loko...@google.com>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-Attention: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Comment-Date: Fri, 24 Jul 2026 09:46:37 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Fr (Gerrit)

        unread,
        5:49 AM (7 hours ago) 5:49 AM
        to Corentin Wallez, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
        Attention needed from Corentin Wallez

        Fr added 1 comment

        File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
        Line 12, Patchset 1: [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
        Fr . unresolved

        Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

        Corentin Wallez

        It's a leftover from a previous version of the proposal that I forgot to fix. I guess we can keep like this and see later fixed to handle null in the implementation though.

        Fr

        It seems like you now check `nullptr` in `GPUComputePassEncoder::setResourceTable`. Why not in the IDL then?

        Corentin Wallez

        The code checks it to call `SetResourceTable(nullptr)` which is actually supported in Dawn at the moment and unsets the resource table for the rest of the compute encoder, so it's handling both cases of the `?` or am I missing something?

        Fr
        Why not applying this change then?
        ```suggestion
        [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable? table);
        ```
        Gerrit-Comment-Date: Fri, 24 Jul 2026 09:49:17 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Corentin Wallez (Gerrit)

        unread,
        5:51 AM (7 hours ago) 5:51 AM
        to Fr, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
        Attention needed from Fr

        Corentin Wallez added 1 comment

        File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
        Line 12, Patchset 1: [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
        Fr . unresolved

        Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

        Corentin Wallez

        It's a leftover from a previous version of the proposal that I forgot to fix. I guess we can keep like this and see later fixed to handle null in the implementation though.

        Fr

        It seems like you now check `nullptr` in `GPUComputePassEncoder::setResourceTable`. Why not in the IDL then?

        Corentin Wallez

        The code checks it to call `SetResourceTable(nullptr)` which is actually supported in Dawn at the moment and unsets the resource table for the rest of the compute encoder, so it's handling both cases of the `?` or am I missing something?

        Fr
        Why not applying this change then?
        ```suggestion
        [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable? table);
        ```
        Corentin Wallez

        I clearly need to wake up still ^^

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Fr
        Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
        Gerrit-Change-Number: 8137847
        Gerrit-PatchSet: 3
        Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
        Gerrit-Reviewer: Fr <beaufort...@gmail.com>
        Gerrit-Reviewer: Loko Kung <loko...@google.com>
        Gerrit-CC: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
        Gerrit-Attention: Fr <beaufort...@gmail.com>
        Gerrit-Comment-Date: Fri, 24 Jul 2026 09:50:56 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Corentin Wallez (Gerrit)

        unread,
        6:03 AM (7 hours ago) 6:03 AM
        to Fr, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
        Attention needed from Fr

        Corentin Wallez voted and added 2 comments

        Votes added by Corentin Wallez

        Commit-Queue+1

        2 comments

        File third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
        Line 12, Patchset 1: [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable table);
        Fr . resolved

        Proposal says `setResourceTable(GPUResourceTable? table)` so that the resource table can be unset by passing null to setResourceTable. Is that intended?

        Corentin Wallez

        It's a leftover from a previous version of the proposal that I forgot to fix. I guess we can keep like this and see later fixed to handle null in the implementation though.

        Fr

        It seems like you now check `nullptr` in `GPUComputePassEncoder::setResourceTable`. Why not in the IDL then?

        Corentin Wallez

        The code checks it to call `SetResourceTable(nullptr)` which is actually supported in Dawn at the moment and unsets the resource table for the rest of the compute encoder, so it's handling both cases of the `?` or am I missing something?

        Fr
        Why not applying this change then?
        ```suggestion
        [RuntimeEnabled=WebGPUExperimentalResourceTable] void setResourceTable(GPUResourceTable? table);
        ```
        Corentin Wallez

        I clearly need to wake up still ^^

        Corentin Wallez

        Done

        File third_party/blink/renderer/modules/webgpu/gpu_device.cc
        Line 582, Patchset 3:GPUResourceTable* GPUDevice::createResourceTable(
        Fr . resolved

        I've just realized we were missing this check:
        > - if desc.size > 65536 throw a RangeError and return.

        Corentin Wallez

        Good catch! Done

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Fr
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
          Gerrit-Change-Number: 8137847
          Gerrit-PatchSet: 4
          Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Fr <beaufort...@gmail.com>
          Gerrit-Reviewer: Loko Kung <loko...@google.com>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Attention: Fr <beaufort...@gmail.com>
          Gerrit-Comment-Date: Fri, 24 Jul 2026 10:03:07 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Corentin Wallez (Gerrit)

          unread,
          6:36 AM (7 hours ago) 6:36 AM
          to Fr, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
          Attention needed from Fr

          Corentin Wallez voted Commit-Queue+2

          Commit-Queue+2
          Gerrit-Comment-Date: Fri, 24 Jul 2026 10:36:29 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Fr (Gerrit)

          unread,
          6:43 AM (6 hours ago) 6:43 AM
          to Corentin Wallez, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
          Attention needed from Corentin Wallez

          Fr voted and added 1 comment

          Votes added by Fr

          Code-Review+1

          1 comment

          Patchset-level comments
          File-level comment, Patchset 4 (Latest):
          Fr . resolved

          FYI I think you'll need to global-interface-listing wpt tests as you're adding a new method in IDL

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Corentin Wallez
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
          Gerrit-Change-Number: 8137847
          Gerrit-PatchSet: 4
          Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Fr <beaufort...@gmail.com>
          Gerrit-Reviewer: Loko Kung <loko...@google.com>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Attention: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Comment-Date: Fri, 24 Jul 2026 10:42:51 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Fr (Gerrit)

          unread,
          7:48 AM (5 hours ago) 7:48 AM
          to Corentin Wallez, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
          Attention needed from Corentin Wallez and Loko Kung

          Fr voted Code-Review+1

          Code-Review+1
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Corentin Wallez
          • Loko Kung
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
          Gerrit-Change-Number: 8137847
          Gerrit-PatchSet: 5
          Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Fr <beaufort...@gmail.com>
          Gerrit-Reviewer: Loko Kung <loko...@google.com>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Attention: Loko Kung <loko...@google.com>
          Gerrit-Attention: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Comment-Date: Fri, 24 Jul 2026 11:47:57 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Corentin Wallez (Gerrit)

          unread,
          8:51 AM (4 hours ago) 8:51 AM
          to Fr, Chromium LUCI CQ, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org
          Attention needed from Loko Kung

          Corentin Wallez voted Commit-Queue+2

          Commit-Queue+2
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Loko Kung
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
          Gerrit-Change-Number: 8137847
          Gerrit-PatchSet: 5
          Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Fr <beaufort...@gmail.com>
          Gerrit-Reviewer: Loko Kung <loko...@google.com>
          Gerrit-CC: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Raphael Kubo da Costa <ku...@igalia.com>
          Gerrit-Attention: Loko Kung <loko...@google.com>
          Gerrit-Comment-Date: Fri, 24 Jul 2026 12:50:31 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Chromium LUCI CQ (Gerrit)

          unread,
          8:55 AM (4 hours ago) 8:55 AM
          to Corentin Wallez, Fr, Loko Kung, chromium...@chromium.org, Kentaro Hara, Raphael Kubo da Costa, blink-revie...@chromium.org, blink-...@chromium.org, cwalle...@chromium.org, jmedle...@chromium.org, kainin...@chromium.org, kinuko...@chromium.org

          Chromium LUCI CQ submitted the change

          Change information

          Commit message:
          WebGPU: Implement chromium-experimental-sampling-resource-table
          Bug: 538168236
          Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
          Commit-Queue: Corentin Wallez <cwa...@chromium.org>
          Reviewed-by: Fr <beaufort...@gmail.com>
          Cr-Commit-Position: refs/heads/main@{#1667805}
          Files:
          • M android_webview/test/data/web_tests/webexposed/global-interface-listing-expected.txt
          • M gpu/command_buffer/service/webgpu_decoder_impl.cc
          • M third_party/blink/renderer/bindings/generated_in_modules.gni
          • M third_party/blink/renderer/bindings/idl_in_modules.gni
          • M third_party/blink/renderer/modules/webgpu/BUILD.gn
          • M third_party/blink/renderer/modules/webgpu/dawn_enum_conversions.cc
          • M third_party/blink/renderer/modules/webgpu/gpu_command_encoder.cc
          • M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.cc
          • M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.h
          • M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
          • M third_party/blink/renderer/modules/webgpu/gpu_device.cc
          • M third_party/blink/renderer/modules/webgpu/gpu_device.h
          • M third_party/blink/renderer/modules/webgpu/gpu_device.idl
          • M third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.cc
          • M third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout_descriptor.idl
          • M third_party/blink/renderer/modules/webgpu/gpu_render_pass_descriptor.idl
          • A third_party/blink/renderer/modules/webgpu/gpu_resource_table.cc
          • A third_party/blink/renderer/modules/webgpu/gpu_resource_table.h
          • A third_party/blink/renderer/modules/webgpu/gpu_resource_table.idl
          • M third_party/blink/renderer/modules/webgpu/gpu_supported_features.cc
          • M third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl
          • M third_party/blink/web_tests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
          • M third_party/blink/web_tests/webexposed/global-interface-listing-dedicated-worker-expected.txt
          • M third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
          • M third_party/blink/web_tests/webexposed/global-interface-listing-shared-worker-expected.txt
          Change size: L
          Delta: 25 files changed, 395 insertions(+), 16 deletions(-)
          Branch: refs/heads/main
          Submit Requirements:
          • requirement satisfiedCode-Review: +1 by Fr
          Open in Gerrit
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: merged
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Ibd88075ab599c646a9507cce68df9e6a5152a36a
          Gerrit-Change-Number: 8137847
          Gerrit-PatchSet: 6
          Gerrit-Owner: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
          Gerrit-Reviewer: Corentin Wallez <cwa...@chromium.org>
          Gerrit-Reviewer: Fr <beaufort...@gmail.com>
          Gerrit-Reviewer: Loko Kung <loko...@google.com>
          open
          diffy
          satisfied_requirement
          Reply all
          Reply to author
          Forward
          0 new messages