Skip to content

gallium: add a pipe cap for ARGB/ABGR emulation

Mike Blumenkrantz requested to merge zmike/mesa:garbagar into master

Some drivers (like zink) can't handle these formats for various reasons, but that's not a problem in the current year because we have swizzles.

This series handles auto-swizzling ARGB/ABGR formats transparently from RGBA/BGRA formats so that a driver can just remap the formats internally and then have everything Just Work™. Enabling this brought zink from 0.1fps -> near fps-capped in RPCS3 (on ANV) from being able to do GPU copies.

The one gotcha is that you have to return false for PBO usage (sampler view) of these types or else it double-swizzles, and nobody wants a double swizzle. Sample case for that is spec@arb_pixel_buffer_object@texsubimage-unpack pbo

Edited by Mike Blumenkrantz

Merge request reports