public readonly record struct GpuDenyRuleOne adapter a backend must not be used on, and why.
Remarks
A substring rather than an exact name, because a driver's name for itself is not a stable identifier. The same GPU reports Mali-G78 on one device and Mali-G78 MC14 on another, and Adreno adds and drops the vendor prefix between driver branches. A rule keyed on equality is a rule that stops matching after an OTA update, which is worse than no rule because it looks like coverage.
⚠ The driver version is a substring too, and that is a deliberate blunt instrument. DriverVersion is a string each backend formats for humans; there is no ordering to compare against and pretending there is one would mean parsing a different scheme per vendor. A range is expressed as several rules, which is verbose and honest.
Fields and properties (3)
public string AdapterPart of the adapter's name, matched case-insensitively. * matches every adapter, which is only meaningful together with a that does not.
public string? DriverVersionThe driver version this applies to, matched case-insensitively as a substring, or * for every version of that adapter's driver.
public string ReasonWhat goes wrong, in words a log reader can act on. Not optional — a rule nobody can review is not a deny-list, it is a device that stopped working for no stated cause.
Methods (2)
public GpuDenyRule(string Adapter, string? DriverVersion, string Reason)One adapter a backend must not be used on, and why.
public bool Matches(string name, string driverVersion)Whether this rule refuses a given adapter.
Used by (2)
- GpuDenyListVixen.Graphics
- GpuDenyListTestsVixen.Graphics.Tests