From afed830366823fa3139945362fb5d19c0ea97ff9 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Mon, 14 Sep 2020 12:24:30 +0100 Subject: [PATCH] Only mark render-target textures as lost SDL2 only loses target textures. --- src/Backends/Rendering/SDLTexture.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Backends/Rendering/SDLTexture.cpp b/src/Backends/Rendering/SDLTexture.cpp index f95c06c6..84e88ca8 100644 --- a/src/Backends/Rendering/SDLTexture.cpp +++ b/src/Backends/Rendering/SDLTexture.cpp @@ -21,6 +21,7 @@ typedef struct RenderBackend_Surface unsigned char *pixels; size_t width; size_t height; + bool render_target; bool lost; struct RenderBackend_Surface *next; @@ -185,6 +186,7 @@ RenderBackend_Surface* RenderBackend_CreateSurface(size_t width, size_t height, surface->width = width; surface->height = height; + surface->render_target = render_target; surface->lost = false; // Add to linked-list @@ -435,7 +437,8 @@ void RenderBackend_DrawGlyph(RenderBackend_GlyphAtlas *atlas, long x, long y, si void RenderBackend_HandleRenderTargetLoss(void) { for (RenderBackend_Surface *surface = surface_list_head; surface != NULL; surface = surface->next) - surface->lost = true; + if (surface->render_target) + surface->lost = true; } void RenderBackend_HandleWindowResize(size_t width, size_t height)