From 0f0e5b44dcf5b5e5a34e90c268c1b3db0533065e Mon Sep 17 00:00:00 2001
From: Francisco Javier Trujillo Mata <[EMAIL REDACTED]>
Date: Fri, 8 Jul 2022 17:47:19 +0200
Subject: [PATCH] Increase size of pool for gsKit events
---
src/render/ps2/SDL_render_ps2.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/render/ps2/SDL_render_ps2.c b/src/render/ps2/SDL_render_ps2.c
index a0dc13dee83..25c4949de17 100644
--- a/src/render/ps2/SDL_render_ps2.c
+++ b/src/render/ps2/SDL_render_ps2.c
@@ -34,6 +34,10 @@
/* turn black GS Screen */
#define GS_BLACK GS_SETREG_RGBA(0x00, 0x00, 0x00, 0x80)
+/* Size of Persistent drawbuffer (Single Buffered) */
+#define RENDER_QUEUE_PER_POOLSIZE 1024 * 256 // 256K of persistent renderqueue
+/* Size of Oneshot drawbuffer (Double Buffered, so it uses this size * 2) */
+#define RENDER_QUEUE_OS_POOLSIZE 1024 * 1024 * 2 // 2048K of oneshot renderqueue
typedef struct clear_vertex {
float x;
@@ -533,6 +537,7 @@ PS2_DestroyTexture(SDL_Renderer * renderer, SDL_Texture * texture)
SDL_free(ps2_texture);
}
+
static void
PS2_DestroyRenderer(SDL_Renderer * renderer)
{
@@ -588,7 +593,7 @@ PS2_CreateRenderer(SDL_Window * window, Uint32 flags)
sema.option = 0;
vsync_sema_id = CreateSema(&sema);
- gsGlobal = gsKit_init_global();
+ gsGlobal = gsKit_init_global_custom(RENDER_QUEUE_OS_POOLSIZE, RENDER_QUEUE_PER_POOLSIZE);
gsGlobal->Mode = gsKit_check_rom();
if (gsGlobal->Mode == GS_MODE_PAL){