Skip to content

frontend/dri: Implement mapping individual planes.

Bas Nieuwenhuizen requested to merge bnieuwenhuizen/mesa:dri-plane-map into master

It is kinda surprising that

image2 = fromPlanar(image, 2, NULL)
mapImage(..., image2, ...)

does not map the third plane.

This implements that behavior in the case where the DRI frontend lowers the multi-planar textures.

In the case it doesn't this would need driver support. AFAIU at least etnaviv is impacted, and while it looks possible, I don't have the etnaviv knowledge or hardware to implement it.

Instead of silently returning weird results (either always plane 0 or possibly something interleaved) this adds an error return on mapping multi-planar textures otherwise.

Merge request reports