etnaviv: blt: blit with the original format when possible
authorJonathan Marek <jonathan@marek.ca>
Thu, 20 Jun 2019 15:53:05 +0000 (11:53 -0400)
committerJonathan Marek <jonathan@marek.ca>
Sun, 30 Jun 2019 01:49:50 +0000 (21:49 -0400)
commit89381191a96891a61a1f98102780669990b9f626
treeec927bddd90bc381dc3ae138347903076e8fd75d
parenta99a265b14b1db05ade75f0e2fe8e9e3b6d04358
etnaviv: blt: blit with the original format when possible

This fixes BGR565 blit: currently BGRA444 is used for the blit, but with
swizzles from the original BGR565 format, so the 4 alpha bits are set to 1.
We can't just use the swizzle from the 'compatible' format, since there are
cases where BGR<->RGB swap needs to happen.

We can avoid all this trouble by using the original formats and only
falling back to the 'compatible' format when we need to.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_blt.c