Skip to content

turnip: apply workaround for depth bounds test without depth test

On some GPUs when:

  • depth bounds test is enabled
  • depth test is disabled
  • depth attachment uses UBWC in sysmem mode

GPU hangs. As a workaround we should enable z test. That's what blob is doing for a630. And since we enable z test we should make it always pass.

Blob doesn't emit this workaround on a650 and a660. Untested on a640.

Fixes:

 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_bounds_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_bounds_test_disable
 dEQP-VK.dynamic_state.ds_state.depth_bounds_1

blob_a630_vs_a650_dEQP-VK.dynamic_state.ds_state.depth_bounds_1.tar.gz (pay attention to the last A6XX_RB_DEPTH_CNTL, in that draw depth test is disabled but depth bounds test is enabled)

Also rename Z_TEST_ENABLE->Z_READ_ENABLE and Z_ENABLE->Z_TEST_ENABLE along the way, to make it's less confusing.

Edited by Danylo Piliaiev

Merge request reports