Use `command_buffer.wait_until_scheduled` in metal renderer (#7283)

This commit goes back to using `wait_until_scheduled` as opposed to
`wait_until_completed`. What this means, however, is that another draw
could take place before the previous one finished. When that happens we
don't want to reuse the same instance buffer because the GPU is actively
reading from it, so we use a pool instead.

Release Notes:

- Fixed a bug that caused inconsistent frame rate when scrolling on
certain hardware.

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Antonio <antonio@zed.dev>
3d76ed96f5Thorsten Ball committed on 2/2/2024, 4:09:58 PM· committed by GitHubparentcf4f3ed
1 file changedLine totals unavailable