v3dv: don't be too aggressive disabling early Z
authorIago Toral Quiroga <itoral@igalia.com>
Mon, 30 May 2022 09:28:50 +0000 (11:28 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Wed, 1 Jun 2022 06:10:57 +0000 (08:10 +0200)
commit0f65838933bfee7c189ffbd17fa1d04a005db8c3
tree740a0788cc64e8d640dc59fd1eb55306cfcc29ae
parent2f7f4060ee400b0345832dbc298f7f817547dff6
v3dv: don't be too aggressive disabling early Z

When we have a draw call that is incompatible with EZ we should only
disable EZ for the remaining of the job in the case that both of the
following conditions are met:

1. The cause for the incompatibility is an incompatible depth test
   direction.

2. The pipeline does Z writes.

Otherwise it is enough to disable EZ temporarily only for draw calls
with the incompatible pipeline.

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16794>
src/broadcom/vulkan/v3dv_pipeline.c
src/broadcom/vulkan/v3dv_private.h
src/broadcom/vulkan/v3dvx_cmd_buffer.c