intel/blorp: Add support for more format bitcasting
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 26 Jan 2018 19:41:02 +0000 (11:41 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 9 May 2018 18:16:33 +0000 (11:16 -0700)
commit1978de66f7160b5af8eac8041dfa8c4e0ec3bb83
tree68f105f321834d0b5d734594c1596a6fe7fc05db
parent7998fe268e727c49388aeed854bc0d6ff1ef6a89
intel/blorp: Add support for more format bitcasting

nir_format_bitcast_uint_vec_unmasked can only be used to cast between
formats with uniform channel sizes.  In particular, it cannot handle
10_10_10_2 formats.  By making use of the NIR helper for uint vector
casts, we should now be able to bitcast between any two uint formats so
long as their channels are in RGBA order (possibly with channels
missing).  In order to do this we need to rework the key a bit to pass
the actual formats instead of just the number of bits in each.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/intel/blorp/blorp_blit.c
src/intel/blorp/blorp_priv.h