iris: Remove the CCS_D fallback
authorNanley Chery <nanley.g.chery@intel.com>
Mon, 1 Jun 2020 15:48:56 +0000 (08:48 -0700)
committerMarge Bot <eric+marge@anholt.net>
Fri, 19 Jun 2020 21:03:31 +0000 (21:03 +0000)
commitfbbf79377bcad0ed51d00a7d7e981375f8c29d54
tree65ff78cea49c0582d57183ab75c8b53b1ae7f6b5
parente533232d8c814dec0799650a6de3a710d029c63e
iris: Remove the CCS_D fallback

Remove the CCS_D fallback logic so that iris doesn't attempt to use a
non-existent surface state for some renders. Also, add an assertion to
catch the issue.

The fallback in iris_resource_render_aux_usage can lead to this problem
because it doesn't account for the fact that surface states created from
resources with the Y_TILED_CCS modifier may only have CCS_E or NONE as
aux usages (due to iris_resource_create_with_modifiers).

Without this change, the next commit would have triggered the fallback
and regressed the following tests on gen9:

* dEQP-EGL.functional.wide_color.window_888_colorspace_srgb
* dEQP-EGL.functional.wide_color.window_8888_colorspace_srgb
* dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_srgb
* dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_srgb

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972>
src/gallium/drivers/iris/iris_resolve.c
src/gallium/drivers/iris/iris_resource.c
src/gallium/drivers/iris/iris_state.c