From dd008a46bca119d6cf6d34d63ab41b77b3087534 Mon Sep 17 00:00:00 2001 From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Sun, 8 Mar 2026 22:22:29 +1000 Subject: [PATCH 1/3] Fix VRAM leak in MapChunk edge rendering --- Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs b/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs index 1d649db87d9..933eb05b774 100644 --- a/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs +++ b/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs @@ -408,6 +408,11 @@ private void DeleteChunk(MapChunkData data) CheckGlError(); data.VBO.Delete(); data.EBO.Delete(); + + DeleteVertexArray(data.EdgeVAO); + CheckGlError(); + data.EdgeVBO.Delete(); + data.EdgeEBO.Delete(); } private void _updateTileMapOnUpdate(ref TileChangedEvent args) From a48ffd71aacc8d8d6f572d4884a5a607c360d95f Mon Sep 17 00:00:00 2001 From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Mon, 9 Mar 2026 10:29:43 +1000 Subject: [PATCH 2/3] Remove CheckGlError because it is called in each of the deletion methods --- Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs b/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs index 933eb05b774..983de9f256e 100644 --- a/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs +++ b/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs @@ -405,12 +405,10 @@ private unsafe void _initChunkBuffers(Entity grid, MapChunk ch private void DeleteChunk(MapChunkData data) { DeleteVertexArray(data.VAO); - CheckGlError(); data.VBO.Delete(); data.EBO.Delete(); DeleteVertexArray(data.EdgeVAO); - CheckGlError(); data.EdgeVBO.Delete(); data.EdgeEBO.Delete(); } From 878569480de21322f09afce714774249f0bf67cc Mon Sep 17 00:00:00 2001 From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Mon, 9 Mar 2026 19:16:15 +1000 Subject: [PATCH 3/3] Revert "Remove CheckGlError because it is called in each of the deletion methods" This reverts commit a48ffd71aacc8d8d6f572d4884a5a607c360d95f. --- Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs b/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs index 983de9f256e..933eb05b774 100644 --- a/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs +++ b/Robust.Client/Graphics/Clyde/Clyde.GridRendering.cs @@ -405,10 +405,12 @@ private unsafe void _initChunkBuffers(Entity grid, MapChunk ch private void DeleteChunk(MapChunkData data) { DeleteVertexArray(data.VAO); + CheckGlError(); data.VBO.Delete(); data.EBO.Delete(); DeleteVertexArray(data.EdgeVAO); + CheckGlError(); data.EdgeVBO.Delete(); data.EdgeEBO.Delete(); }