venus: optimize non-template descriptor set update and push
venus: optimize non-template descriptor set update and push
Summary:
- commit 1 avoids internal type remapping upon set allocation. It's mostly to fix the TODO so that internal tracking and usage of descriptor type is purely based on the VN enums
- commit 2 is to move the async_set_allocation check to the same level, and avoids confusion for the internal free v.s. real free
- commit 3~4 optimize to skip earlier for reserved (valid type but zero count) and invalid bindings (proxy via zero count)
- commit 5 is some misc refactors for set alloc/cleanup
- commit 6 drops a redundant check which ends up with pure overhead mostly
- commit 7~8 updates non-template set update and push to use STACK_ARRAY
Test:
- related api and binding_model cts