i965: Workaround the gen9 hw astc5x5 sampler bug
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 7 Sep 2018 05:40:54 +0000 (00:40 -0500)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 7 Sep 2018 15:42:40 +0000 (10:42 -0500)
commitf9e630e23dfa3de815026a08e7e767e2ed90da0b
treed8b98798a59c5b89ab178d013ac1c8a863befeae
parenta91b158bd9e1b6bc08f1d5ac350cd8b68e372042
i965: Workaround the gen9 hw astc5x5 sampler bug

gen9 hardware has a bug in the sampler cache that can cause GPU hangs
whenever an texture with aux compression enabled is in the sampler cache
together with an ASTC5x5 texture.  Because we can't control what the
client binds at any given time, we have two options: resolve the CCS or
decompresss the ASTC.  Doing a CCS or HiZ resolve is far less drastic
and will likely have a smaller performance impact.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Tested-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/brw_blorp.c
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/i965/brw_wm_surface_state.c
src/mesa/drivers/dri/i965/intel_mipmap_tree.c
src/mesa/drivers/dri/i965/intel_mipmap_tree.h