From 67f431c69cd6a1de926183d8ba379bd1b5714045 Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: Tue, 27 Apr 2021 14:04:02 +0200 Subject: [PATCH] Alternative texture update scheme --- src/renderer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer.c b/src/renderer.c index b2adc044..b7163572 100644 --- a/src/renderer.c +++ b/src/renderer.c @@ -177,10 +177,11 @@ void ren_update_rects(RenRect *rects, int count) { initial_frame = false; } - SDL_UpdateTexture(renderer.texture, NULL, renderer.surface->pixels, renderer.surface->w * 4); for (int i = 0; i < count; i++) { const RenRect *r = &rects[i]; SDL_Rect sr = {.x = r->x, .y = r->y, .w = r->width, .h = r->height}; + int32_t *pixels = ((int32_t *) renderer.surface->pixels) + r->x + renderer.surface->w * r->y; + SDL_UpdateTexture(renderer.texture, &sr, pixels, renderer.surface->w * 4); SDL_RenderCopy(renderer.renderer, renderer.texture, &sr, &sr); } SDL_RenderPresent(renderer.renderer);