mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-17 19:21:30 +12:00
[GSP::GPU] Implement SetInternalPriorities
This commit is contained in:
parent
156a89ba75
commit
db0adc55c1
2 changed files with 10 additions and 1 deletions
|
@ -34,6 +34,7 @@ class GPUService {
|
||||||
void acquireRight(u32 messagePointer);
|
void acquireRight(u32 messagePointer);
|
||||||
void flushDataCache(u32 messagePointer);
|
void flushDataCache(u32 messagePointer);
|
||||||
void registerInterruptRelayQueue(u32 messagePointer);
|
void registerInterruptRelayQueue(u32 messagePointer);
|
||||||
|
void setInternalPriorities(u32 messagePointer);
|
||||||
void setLCDForceBlack(u32 messagePointer);
|
void setLCDForceBlack(u32 messagePointer);
|
||||||
void triggerCmdReqQueue(u32 messagePointer);
|
void triggerCmdReqQueue(u32 messagePointer);
|
||||||
void writeHwRegs(u32 messagePointer);
|
void writeHwRegs(u32 messagePointer);
|
||||||
|
|
|
@ -9,7 +9,8 @@ namespace ServiceCommands {
|
||||||
WriteHwRegsWithMask = 0x00020084,
|
WriteHwRegsWithMask = 0x00020084,
|
||||||
FlushDataCache = 0x00080082,
|
FlushDataCache = 0x00080082,
|
||||||
SetLCDForceBlack = 0x000B0040,
|
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::AcquireRight: acquireRight(messagePointer); break;
|
||||||
case ServiceCommands::FlushDataCache: flushDataCache(messagePointer); break;
|
case ServiceCommands::FlushDataCache: flushDataCache(messagePointer); break;
|
||||||
case ServiceCommands::RegisterInterruptRelayQueue: registerInterruptRelayQueue(messagePointer); break;
|
case ServiceCommands::RegisterInterruptRelayQueue: registerInterruptRelayQueue(messagePointer); break;
|
||||||
|
case ServiceCommands::SetInternalPriorities: setInternalPriorities(messagePointer); break;
|
||||||
case ServiceCommands::SetLCDForceBlack: setLCDForceBlack(messagePointer); break;
|
case ServiceCommands::SetLCDForceBlack: setLCDForceBlack(messagePointer); break;
|
||||||
case ServiceCommands::TriggerCmdReqQueue: triggerCmdReqQueue(messagePointer); break;
|
case ServiceCommands::TriggerCmdReqQueue: triggerCmdReqQueue(messagePointer); break;
|
||||||
case ServiceCommands::WriteHwRegs: writeHwRegs(messagePointer); break;
|
case ServiceCommands::WriteHwRegs: writeHwRegs(messagePointer); break;
|
||||||
|
@ -195,6 +197,12 @@ void GPUService::triggerCmdReqQueue(u32 messagePointer) {
|
||||||
mem.write32(messagePointer + 4, Result::Success);
|
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() {
|
void GPUService::processCommandBuffer() {
|
||||||
if (sharedMem == nullptr) [[unlikely]] { // Shared memory hasn't been set up yet
|
if (sharedMem == nullptr) [[unlikely]] { // Shared memory hasn't been set up yet
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue