From f8362fda6815f28ae1495fb9303beaaf4235f086 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Fri, 24 May 2019 10:34:36 -0700 Subject: [PATCH] GBA Video: Improve GL reset --- src/gba/renderers/gl.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gba/renderers/gl.c b/src/gba/renderers/gl.c index a39540eaa..f83ab0bee 100644 --- a/src/gba/renderers/gl.c +++ b/src/gba/renderers/gl.c @@ -848,12 +848,21 @@ void GBAVideoGLRendererDeinit(struct GBAVideoRenderer* renderer) { void GBAVideoGLRendererReset(struct GBAVideoRenderer* renderer) { struct GBAVideoGLRenderer* glRenderer = (struct GBAVideoGLRenderer*) renderer; +#ifdef BUILD_GLES3 + int i; + for (i = 0; i < 512; ++i) { + renderer->writePalette(renderer, i << 1, renderer->palette[i]); + } +#else glRenderer->paletteDirty = true; +#endif glRenderer->vramDirty = 0xFFFFFF; glRenderer->firstAffine = -1; glRenderer->firstY = -1; glRenderer->dispcnt = 0; glRenderer->mosaic = 0; + memset(glRenderer->shadowRegs, 0, sizeof(glRenderer->shadowRegs)); + glRenderer->regsDirty = 0xFFFFFFFFFFFFULL; } void GBAVideoGLRendererWriteVRAM(struct GBAVideoRenderer* renderer, uint32_t address) {