tu: Disable sample counting for 3d blits during occlusion query
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Mon, 20 Jun 2022 12:59:36 +0000 (15:59 +0300)
committerMarge Bot <emma+marge@anholt.net>
Tue, 21 Jun 2022 13:13:36 +0000 (13:13 +0000)
commit48540caec91af15c69cab1c09115be257bf9c987
tree0b13c466ea74bb07752e8911efc2ae84b7797aa5
parent0c3fae4e6e65b83cd6c61375f7be50566ee27e7c
tu: Disable sample counting for 3d blits during occlusion query

Per Vulkan spec only "Draw" commands should be counted towards
occlusion query.

Apparently RB_SAMPLE_COUNT_CONTROL::UNK0 bool controls whether
sample counting is enabled, so we could use it to disable
sample counting for 3d blits which are sometimes used for
clear/copy/blit/gmem-store/resolve operations.

Fixes GL CTS tests running through Zink:
 dEQP-GLES3.functional.occlusion_query.depth_clear
 dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_clear
 dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_clear
 dEQP-GLES3.functional.occlusion_query.scissor_stencil_clear
 dEQP-GLES3.functional.occlusion_query.stencil_clear

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6559

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17138>
src/freedreno/registers/adreno/a6xx.xml
src/freedreno/vulkan/tu_clear_blit.c
src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt