From 30dc65121dc37ad5faf33ca842fd8d63f425f04f Mon Sep 17 00:00:00 2001 From: kynex7510 Date: Wed, 20 Nov 2024 01:03:20 +0100 Subject: [PATCH] Init gpu interrupt queue header --- libctru/source/services/gspgpu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libctru/source/services/gspgpu.c b/libctru/source/services/gspgpu.c index 27d7cb6..694829c 100644 --- a/libctru/source/services/gspgpu.c +++ b/libctru/source/services/gspgpu.c @@ -184,6 +184,12 @@ Result gspInit(void) gspSharedMem = mappableAlloc(0x1000); svcMapMemoryBlock(gspSharedMemHandle, (u32)gspSharedMem, MEMPERM_READWRITE, MEMPERM_DONTCARE); + // Initialize interrupt queue header + s32* sharedGspCmdBuf = (s32*)((u8*)gspSharedMem + 0x800 + gspThreadId*0x200); + do { + __ldrex(sharedGspCmdBuf); + } while (__strex(sharedGspCmdBuf, 0)); + // Start event handling thread gspRunEvents = true; gspLastEvent = -1;