MCPcopy Create free account
hub / github.com/devkitPro/libctru / gspWaitForAnyEvent

Function gspWaitForAnyEvent

libctru/source/services/gspgpu.c:302–320  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

300}
301
302GSPGPU_Event gspWaitForAnyEvent(void)
303{
304 s32 x;
305 do
306 {
307 do
308 {
309 x = __ldrex(&gspLastEvent);
310 if (x < 0)
311 {
312 __clrex();
313 break;
314 }
315 } while (__strex(&gspLastEvent, -1));
316 if (x < 0)
317 syncArbitrateAddress(&gspLastEvent, ARBITRATION_WAIT_IF_LESS_THAN, 0);
318 } while (x < 0);
319 return (GSPGPU_Event)x;
320}
321
322static int popInterrupt(void)
323{

Callers 1

gxCmdQueueWaitFunction · 0.85

Calls 4

__ldrexFunction · 0.85
__clrexFunction · 0.85
__strexFunction · 0.85
syncArbitrateAddressFunction · 0.85

Tested by

no test coverage detected