i965: Track format and aux usage in the render cache

Graphics / Mesa 3D Graphics Library / Mesa - Jason Ekstrand [intel.com] - 17 January 2018 05:41 EST

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

d84275b884 i965: Track format and aux usage in the render cache
src/mesa/drivers/dri/i965/brw_context.h | 2 +-
src/mesa/drivers/dri/i965/brw_draw.c | 20 +++++---
src/mesa/drivers/dri/i965/genX_blorp_exec.c | 14 ++++--
src/mesa/drivers/dri/i965/intel_fbo.c | 75 +++++++++++++++++++++++------
src/mesa/drivers/dri/i965/intel_fbo.h | 8 ++-
5 files changed, 92 insertions(+), 27 deletions(-)

Upstream: cgit.freedesktop.org


  • Share