zink: allow null descriptor set layouts
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 31 Jan 2022 17:23:22 +0000 (12:23 -0500)
committerMarge Bot <emma+marge@anholt.net>
Tue, 22 Feb 2022 21:16:55 +0000 (21:16 +0000)
commit7266182be0c96101e4e497b103b235087f12512c
tree684d690aa1421e09ebd84308193363a9e487cc29
parent3759a16d8a883355effa435f46867951ce712dbe
zink: allow null descriptor set layouts

I got confused while writing this somehow because of the null descriptor
feature, which enables drivers to consume a null descriptor, which has no
relation to a descriptor layout containing no descriptors

failing to accurately use zero descriptors can put layouts over the maximum
per-stage limits, which causes tests to crash

fixes (lavapipe):
KHR-GL46.shading_language_420pack.binding_uniform_block_array
KHR-GL46.multi_bind.dispatch_bind_buffers_base

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15067>
src/gallium/drivers/zink/zink_descriptors.c
src/gallium/drivers/zink/zink_descriptors_lazy.c