turnip: disable LRZ on specific cases

Graphics / Mesa 3D Graphics Library / Mesa - Samuel Iglesias Gonsálvez [igalia.com] - 2 October 2020 03:46 UTC

There are depth compare op modes that are not supported by LRZ in the HW. Also, it is not supported when blend or stencil are enabled.

v2:

- Set pipeline->lrz.write to the same value than depthWriteEnable.
- Improve comment on disabling LRZ write on blend.
- Remove pipeline's lrz invalidation when there is no clear mask in render pass. It is confusing. (Jonathan Marek)
- Mark the pipeline state as changed.
- Add comment on not using GREATER flag.

v3:

- Replace {rb,gras}_lrz_cntl by flags in struct tu_pipeline.
- Added z_test_enable flag.

v4:

- Created struct tu_lrz_pipeline to avoid modifying immutable objects.

v5:

- Fixed crashes when pDepthStencilState pointer is NULL.

38f008e07bc turnip: disable LRZ on specific cases
src/freedreno/vulkan/tu_pipeline.c | 41 ++++++++++++++++++++++++++++++++++++++
src/freedreno/vulkan/tu_private.h | 12 +++++++++++
2 files changed, 53 insertions(+)

Upstream: cgit.freedesktop.org


  • Share