GSP: Implements preliminary command synchronization via GPU interrupts.

Core: Added a comment to explain the logic for the RunLoop iterations.
This commit is contained in:
bunnei 2014-07-22 22:59:26 -04:00
parent c48ab0bd9e
commit ec14ffe1cd
4 changed files with 140 additions and 29 deletions

View file

@ -29,6 +29,16 @@ enum class GXCommandId : u32 {
SET_COMMAND_LIST_FIRST = 0x05,
};
enum class GXInterruptId : u8 {
PSC0 = 0x00,
PSC1 = 0x01,
PDC0 = 0x02, // Seems called every vertical screen line
PDC1 = 0x03, // Seems called every frame
PPF = 0x04,
P3D = 0x05,
DMA = 0x06,
};
struct GXCommand {
BitField<0, 8, GXCommandId> id;
@ -84,4 +94,10 @@ public:
};
/**
* Signals that the specified interrupt type has occurred to userland code
* @param interrupt_id ID of interrupt that is being signalled
*/
void SignalInterrupt(GXInterruptId interrupt_id);
} // namespace