mesa/st: add software-fallback for BPTC
BPTC is a requirement for OpenGL 4.2 support. To support more recent OpenGL versions on hardware without native BPTC support, we're going to need software-emulation. We already do the same for ETC and ASTC support. Unlike the ETC and ASTC support, this MR does not implement transcoding for BPTC to other formats.
I also tried implementing this in u_transfer_helper
, the start of which can be found in !17959 (merged) and here. However, I was pointed in this direction instead.
There's similar MRs for S3TC and RGTC here:
This patchset seems to pass both Piglit and dEQP, and was tested by hacking out the BPTC support from Lavapipe and ANV.