[GSP::GPU] Implement SetInternalPriorities

This commit is contained in:
wheremyfoodat 2022-10-11 22:09:27 +03:00
parent 156a89ba75
commit db0adc55c1
2 changed files with 10 additions and 1 deletions

View file

@ -34,6 +34,7 @@ class GPUService {
void acquireRight(u32 messagePointer);
void flushDataCache(u32 messagePointer);
void registerInterruptRelayQueue(u32 messagePointer);
void setInternalPriorities(u32 messagePointer);
void setLCDForceBlack(u32 messagePointer);
void triggerCmdReqQueue(u32 messagePointer);
void writeHwRegs(u32 messagePointer);

View file

@ -9,7 +9,8 @@ namespace ServiceCommands {
WriteHwRegsWithMask = 0x00020084,
FlushDataCache = 0x00080082,
SetLCDForceBlack = 0x000B0040,
TriggerCmdReqQueue = 0x000C0000
TriggerCmdReqQueue = 0x000C0000,
SetInternalPriorities = 0x001E0080
};
}
@ -41,6 +42,7 @@ void GPUService::handleSyncRequest(u32 messagePointer) {
case ServiceCommands::AcquireRight: acquireRight(messagePointer); break;
case ServiceCommands::FlushDataCache: flushDataCache(messagePointer); break;
case ServiceCommands::RegisterInterruptRelayQueue: registerInterruptRelayQueue(messagePointer); break;
case ServiceCommands::SetInternalPriorities: setInternalPriorities(messagePointer); break;
case ServiceCommands::SetLCDForceBlack: setLCDForceBlack(messagePointer); break;
case ServiceCommands::TriggerCmdReqQueue: triggerCmdReqQueue(messagePointer); break;
case ServiceCommands::WriteHwRegs: writeHwRegs(messagePointer); break;
@ -195,6 +197,12 @@ void GPUService::triggerCmdReqQueue(u32 messagePointer) {
mem.write32(messagePointer + 4, Result::Success);
}
// Seems to be completely undocumented, probably not very important or useful
void GPUService::setInternalPriorities(u32 messagePointer) {
log("GSP::GPU::SetInternalPriorities\n");
mem.write32(messagePointer + 4, Result::Success);
}
void GPUService::processCommandBuffer() {
if (sharedMem == nullptr) [[unlikely]] { // Shared memory hasn't been set up yet
return;