Skip to content

[deno] Some CTS tests are failing on Mac due to requesting the mappable-primary-buffers feature #7796

Open
@andyleiserson

Description

@andyleiserson

The CTS validation tests use a buffer descriptor with both MAP_READ and COPY_SRC to obtain an invalid buffer. For most tests, the CTS requests devices with all reported adapter features. On Mac, this includes the mappable-primary-buffers feature which makes it legal to set both MAP_READ and COPY_SRC. This results in CTS tests failing because they expect an error due to an invalid buffer, but the buffer is valid and no error is raised.

One such test is 'webgpu:api,validation,encoding,cmds,clearBuffer:buffer_state:bufferState="invalid"'. It currently fails due to #7391, but with those fixes, it fails for the above reason.

I confirmed that modifying the CTS not to request the mappable-primary-buffers feature resolves the issue. Since the spec says:

Enabling features may not necessarily be desirable, as doing so may have a performance impact. Because of this, and to improve portability across devices and implementations, applications should generally only request features that they may actually require.

Our behavior seems defensible, so perhaps the best course of action here is to request that the CTS not automatically request the mappable-primary-buffers feature whenever it is available. (It currently has logic to block the core-features-and-limits feature, so this is an easy change to make to the CTS, as long as it will be accepted. There are currently no other features blocked in this manner.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ctsIssues stemming from the WebGPU Conformance Test Suitearea: denoDeno bindings to wgpuarea: validationIssues related to validation, diagnostics, and error handlingplatform: macosIssues with integration with macostype: tracking

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions