mesa/src/intel/blorp
Kenneth Graunke b696ab172c blorp: Properly handle Z24X8 blits.
One of the reasons we didn't notice that R24_UNORM_X8_TYPELESS
destinations were broken was that an earlier layer was swapping it
out for B8G8R8A8_UNORM.  That made Z24X8 -> Z24X8 blits work.

However, R32_FLOAT -> R24_UNORM_X8_TYPELESS was still totally broken.
The old code only considered one format at a time, without thinking
that format conversion may need to occur.

This patch moves the translation out to a place where it can consider
both formats.  If both are Z24X8, we continue using B8G8R8A8_UNORM to
avoid having to do shader math workarounds.  If we have a Z24X8
destination, but a non-matching source, we use our shader hacks to
actually render to it properly.

Fixes: 804856fa57 (intel/blorp: Handle more exotic destination formats)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
(cherry picked from commit de57926dc9)
2018-08-13 12:45:28 +03:00
..
blorp.c blorp: Properly handle Z24X8 blits. 2018-08-13 12:45:28 +03:00
blorp.h intel/blorp: Take an explicit filter parameter in blorp_blit 2018-07-18 09:47:28 -07:00
blorp_blit.c blorp: Properly handle Z24X8 blits. 2018-08-13 12:45:28 +03:00
blorp_clear.c intel/blorp: Handle 3-component formats in clears 2018-07-13 20:57:46 -07:00
blorp_genX_exec.h i965/icl: Disable binding table prefetching 2018-07-27 11:05:04 -07:00
blorp_nir_builder.h intel/blorp: Add a partial resolve pass for MCS 2017-07-22 20:59:22 -07:00
blorp_priv.h intel/blorp: Add a blorp_filter enum for use in blorp_blit 2018-07-18 09:47:28 -07:00
meson.build meson: Use dependencies for nir 2018-01-11 15:40:02 -08:00
TODO intel/blorp: Add a TODO file 2016-09-12 10:14:49 -07:00