Skip to content

Metal feature detection is very broken #8594

@inner-daemons

Description

@inner-daemons

Description

See #8439

Many (most?) of the feature detection logic in the metal backend is completely incorrect. You usually need to check for a specific metal version, a feature family, or specific versions of different OSes. This is often not checked correctly. For example, I have seen checks that ignore the API version completely. Many checks also assume tvOS versions and iOS versions have the same feature support which isn't true.

Some examples: vertex amplficiation checks calls a function not available everywhere, barycentrics is the same.

Repro steps
Look at the feature detection code

Expected vs observed behavior
It should be correct

Extra materials
None

Platform
Metal

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions