Skip to content

gallium: Default to PIPE_CAP_MIXED_COLORBUFFER_FORMATS

Alyssa Rosenzweig requested to merge alyssa/mesa:gallium/remove-mixed-cap into main

There are three tiers of drivers:

  • Drivers that support MRT and support mixed colorbuffer formats. All modern hardware fits this as it becomes a spec requirement.
  • Drivers that do not support MRT. Then this CAP is a no-op, so we might as well set it by default even here (this commit trivially enables the CAP for lima, vc4, etanviv).
  • Drivers that support MRT but do not support mixed colorbuffer formats! Very little hardware fits this category as it doesn't suffice for MRT in most APIs. Unfortunately we have a few drivers that are in this category, preventing us from bulldozing the CAP altogether.

Given that the CAP only exists for a few legacy drivers, default it to being enabled to avoid new drivers falling into the trap of forgetting to enable it. Failing to set this CAP causes failures in dEQP-GLES3.functional.fbo.completeness.*

Drivers which still do not set this CAP: nv30, r300 (older than r500), virgl in some cases.


I've tagged the drivers which still don't set the CAP, in case that was due to an oversight writing the driver rather than a hardware issue.

Merge request reports