panfrost: fix sampler_count and unbind samplers in bind_sampler_states
authorAleksey Komarov <q4arus@ya.ru>
Mon, 12 Dec 2022 16:32:32 +0000 (19:32 +0300)
committerMarge Bot <emma+marge@anholt.net>
Tue, 13 Dec 2022 18:28:21 +0000 (18:28 +0000)
commitd51fc12af9dd0189be7b3eae0c96a6336eeaca18
tree12cddc352a01c3fd81f3d39d800e609bb2608058
parenta921486e2a6ca5fc873a6e2f9c61fb5bef4cf3d9
panfrost: fix sampler_count and unbind samplers in bind_sampler_states

1. Old approach did not support unbind (set to NULL) samplers because
it only copied memory if sampler is not empty. New approach checks
if sampler is empty - it will set NULL.

2. Old approach just set sampler_count to 0 if sampler is empty.
That's wrong and we need to find highest non-null samplers[] entry.
It was done in new approach.

3. Gallium dosc says:
```
NOTE: at this time, start is always zero ...
This may change in the future.
```
It's better to take into consideration start parameter in new approach.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20285>
src/gallium/drivers/panfrost/pan_context.c
src/gallium/drivers/panfrost/pan_context.h