i965: Track format and aux usage in the render cache
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 14 Dec 2017 01:25:26 +0000 (17:25 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 17 Jan 2018 05:41:32 +0000 (21:41 -0800)
commitd84275b884244a2fd3a6e67ceb2a5277e5edf89a
tree1e990a0c971353c3eb8c28ff82b7446fc36c5ac1
parent622786c20c6cd073071b00ddf6e50c447f8c5768
i965: Track format and aux usage in the render cache

This lets us perform render cache flushes whenever a surface goes from
being used with one aux+format to a different aux+format.

This is the "proper" fix for https://bugs.freedesktop.org/102435.
ee57b15ec764736e2d5360beaef9fb2045ed0f68 which was really just a partial
revert of 3e57e9494c2279580ad6a83ab8c065d01e7e634e was just a hack to
get rid of a hang in a bunch of Valve games.  This solves the actual
problem responsible for the hang and lets us enable CCS_E once again.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102435
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "17.3" <mesa-stable@lists.freedesktop.org>
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/i965/genX_blorp_exec.c
src/mesa/drivers/dri/i965/intel_fbo.c
src/mesa/drivers/dri/i965/intel_fbo.h