From dfbb134bfeb0089b187568c6b6bcc8c033cb3c23 Mon Sep 17 00:00:00 2001 From: mausimus <73635663+mausimus@users.noreply.github.com> Date: Wed, 29 Sep 2021 21:26:29 +0000 Subject: [PATCH] RLGL: restore draw batch state after limit check (#2018) --- src/rlgl.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rlgl.h b/src/rlgl.h index 2974ee132..3851982e9 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -2548,8 +2548,15 @@ bool rlCheckRenderBatchLimit(int vCount) if ((RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].vCounter + vCount) >= (RLGL.currentBatch->vertexBuffer[RLGL.currentBatch->currentBuffer].elementCount*4)) { + int currentMode = RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode; + int currentTexture = RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId; + overflow = true; rlDrawRenderBatch(RLGL.currentBatch); // NOTE: Stereo rendering is checked inside + + // restore state of last batch so we can continue adding vertices + RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].mode = currentMode; + RLGL.currentBatch->draws[RLGL.currentBatch->drawCounter - 1].textureId = currentTexture; } #endif