Ensure the glyph vertices are cleared when switching buffers #3624
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It's still not totally clear why this happens but inspecting the code I'm guessing there was just always a bug here that artifacts could be left around when the buffer changes. The fix is fairly safe, we just force clear the glyph's arrays that are sent to the GPU when the buffer changes.
I also made it so this happens whenever
WebglRenderer.clear()
is called via:Previously it was only clearing the render layers which seems wrong. AFAICT this now is only called on when a font related setting changes or the active buffer changes so it shouldn't cause a performance regression.
Fixes #3617
Part of microsoft/vscode#142091