Closed Bug 1968882 Opened 3 months ago Closed 1 month ago

Support GPUExternalTextureBindingLayout

Categories

(Core :: Graphics: WebGPU, task, P1)

task

Tracking

()

RESOLVED FIXED
142 Branch
Tracking Status
firefox142 --- fixed

People

(Reporter: jnicol, Assigned: jnicol)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Add the webidl for GPUExternalTextureBindingLayout and necessary plumbing to webgpu_bindings.

The spec for GPUBindGroupLayoutEntry says:

externalTexture, of type GPUExternalTextureBindingLayout
When provided, indicates the binding resource type for this GPUBindGroupLayoutEntry is either GPUExternalTexture or GPUTextureView.

Since we don't yet support external textures (coming in bug 1827116), this will only support TextureView resources for now.

The upcoming patch for this bug will depend on wgpu/#7732. And will require an additional PR (not yet up for review) in order to actually allow rendering of TextureView's bound to external texture binding points.

Severity: -- → S3
Priority: -- → P1

Add webidl definition for GPUExternalTextureBindingLayout, and add the
externalTexture field of that type to GPUBindGroupLayoutEntry. Ensure
the correct binding type is passed through to wgpu.

Additionally adjust CTS test expectations for the
webgpu:api,validation,createBindGroup:external_texture,texture_view:*
tests.

This patch causes failures for the tests which expect invalid usage of
createBindGroup() to generate a validation error. Previously when the
test attempted to create a bind group layout containing an external
texture entry, we actually created a buffer entry. This led to
createBindGroup() to generating a validation error when attempting to
bind a texture view to the buffer. Note that these tests were only
passing by accident.

Now they fail because createBindGroupLayout() generates an error,
due to the EXTERNAL_TEXTURE feature not yet being supported by any
wgpu backends.

Assignee: nobody → jnicol
Status: NEW → ASSIGNED
Pushed by jnicol@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/0f10d39a214f https://hg.mozilla.org/integration/autoland/rev/fba64b244734 Add externalTexture field to WebGPU's GPUBindGroupLayoutEntry. r=webgpu-reviewers,ErichDonGubler,webidl,saschanaz
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 142 Branch
QA Whiteboard: [qa-triage-done-c143/b142]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: