Fixing the R/B swap the right way

If you&rsquo;ve ever looked at a GPU render and seen blue where red should be, you&rsquo;ve met the R/B swap problem. For etnaviv this has been a long-standing source of complexity. We were solving it in the shader, but the proprietary blob driver had a simpler approach all along. As part of my work at Igalia , I finally sat down and did it properly. The problem Vivante GPUs have a quirk: the…