iris: Use modfiy disables for 3DSTATE_WM_DEPTH_STENCIL command
authorSagar Ghuge <sagar.ghuge@intel.com>
Tue, 4 Feb 2020 18:49:59 +0000 (10:49 -0800)
committerMarge Bot <eric+marge@anholt.net>
Fri, 15 May 2020 21:41:12 +0000 (21:41 +0000)
commit65c2362e88578575899bd208713d87b1206ad360
treef99123e19214d0bbc7d0e1fa0918cadb03442c35
parent864d8acbfdb5df17c5495b87ceba7c009f65988b
iris: Use modfiy disables for 3DSTATE_WM_DEPTH_STENCIL command

Add new IRIS_DIRTY_STENCIL_REF dirty flag which would help us to trigger
separate 3DSTATE_WM_DEPTH_STENCIL packet using modify disable fields.

Instead of merging two packets into one in order to build
3DSTATE_WM_DEPTH_STENCIL state, set_stencil_ref can use
IRIS_DIRTY_STENCIL_REF bit and bind_zsa_state can use
IRIS_DIRTY_WN_DEPTH_STENCIL, both could cause packet to happen with
available information using modify disable bits which allow us to
construct packet by ignoring set of fields.

v2: (Kenneth Graunke)
- Fix condition ordering.
- Club GEN cases.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3688>
src/gallium/drivers/iris/iris_context.h
src/gallium/drivers/iris/iris_state.c