Files
oak-gpui/crates
Thorsten BallandAntonio 43d79af94a metal renderer: Increase instance buffer size dynamically (#11849)
Previously, we had an instance buffer pool that could only allocate
buffers with a fixed size (hardcoded to 2mb). This caused certain scenes
to render partially, e.g. when showing tens of thousands of glyphs on a
big screen.

With this commit, when `MetalRenderer` detects that a scene would be too
large to render using the current instance buffer size, it will:

- Clear the existing instance buffers
- Allocate new instance buffers that are twice as large
- Retry rendering the scene that failed with the newly-allocated buffers
during the same frame.

This fixes #11615.

Release Notes:

- Fixed rendering issues that could arise when having large amounts of
text displayed on a large display. Fixed by dynamically increasing the
size of the buffers used on the GPU.
([#11615](https://github.com/zed-industries/zed/issues/11615)).

Before:


https://github.com/zed-industries/zed/assets/1185253/464463be-b61c-4149-a417-01701699decb


After:



https://github.com/zed-industries/zed/assets/1185253/4feacf5a-d862-4a6b-90b8-317ac74e9851

Co-authored-by: Antonio <me@as-cii.com>
2024-05-15 13:43:06 +02:00
..
2024-05-10 15:50:20 -06:00
2024-05-10 15:50:20 -06:00
2024-05-10 15:50:20 -06:00
2024-04-23 13:31:21 -04:00
2024-05-10 15:50:20 -06:00
2024-03-28 18:32:11 +01:00
2024-04-11 15:36:35 -06:00
2024-05-10 15:50:20 -06:00
2024-04-30 23:31:59 -06:00
2024-05-10 15:50:20 -06:00
2024-05-10 15:50:20 -06:00
2024-05-09 21:08:49 -06:00
2024-03-11 10:45:57 +01:00
2024-03-26 16:10:09 -07:00
2024-04-26 13:25:25 -06:00
2024-05-09 21:08:49 -06:00
2024-05-06 12:58:11 +02:00
2024-05-13 17:58:08 -04:00
2024-05-10 15:50:20 -06:00
2024-05-05 15:02:50 +02:00
2024-04-15 14:21:52 +02:00
2024-05-14 18:25:54 -07:00
2024-05-03 12:50:42 -07:00
2024-05-14 18:25:54 -07:00