mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-06 22:25:41 +12:00
[GSP::GPU] Stub FlushDataCache
This commit is contained in:
parent
cbefe3c2d0
commit
1c8a9e8b56
2 changed files with 11 additions and 0 deletions
|
@ -26,6 +26,7 @@ class GPUService {
|
|||
|
||||
// Service commands
|
||||
void acquireRight(u32 messagePointer);
|
||||
void flushDataCache(u32 messagePointer);
|
||||
void registerInterruptRelayQueue(u32 messagePointer);
|
||||
void setLCDForceBlack(u32 messagePointer);
|
||||
void writeHwRegs(u32 messagePointer);
|
||||
|
|
|
@ -6,6 +6,7 @@ namespace GPUCommands {
|
|||
RegisterInterruptRelayQueue = 0x00130042,
|
||||
WriteHwRegs = 0x00010082,
|
||||
WriteHwRegsWithMask = 0x00020084,
|
||||
FlushDataCache = 0x00080082,
|
||||
SetLCDForceBlack = 0x000B0040
|
||||
};
|
||||
}
|
||||
|
@ -26,6 +27,7 @@ void GPUService::handleSyncRequest(u32 messagePointer) {
|
|||
const u32 command = mem.read32(messagePointer);
|
||||
switch (command) {
|
||||
case GPUCommands::AcquireRight: acquireRight(messagePointer); break;
|
||||
case GPUCommands::FlushDataCache: flushDataCache(messagePointer); break;
|
||||
case GPUCommands::RegisterInterruptRelayQueue: registerInterruptRelayQueue(messagePointer); break;
|
||||
case GPUCommands::SetLCDForceBlack: setLCDForceBlack(messagePointer); break;
|
||||
case GPUCommands::WriteHwRegs: writeHwRegs(messagePointer); break;
|
||||
|
@ -148,8 +150,16 @@ void GPUService::writeHwRegsWithMask(u32 messagePointer) {
|
|||
mem.write32(messagePointer + 4, Result::Success);
|
||||
}
|
||||
|
||||
void GPUService::flushDataCache(u32 messagePointer) {
|
||||
u32 address = mem.read32(messagePointer + 4);
|
||||
u32 size = mem.read32(messagePointer + 8);
|
||||
u32 processHandle = handle = mem.read32(messagePointer + 16);
|
||||
printf("GSP::GPU::FlushDataCache(address = %08X, size = %X, process = %X\n", address, size, processHandle);
|
||||
}
|
||||
|
||||
void GPUService::setLCDForceBlack(u32 messagePointer) {
|
||||
u32 flag = mem.read32(messagePointer + 4);
|
||||
printf("GSP::GPU::SetLCDForceBlank(flag = %d)\n", flag);
|
||||
|
||||
if (flag != 0) {
|
||||
printf("Filled both LCDs with black\n");
|
||||
|
|
Loading…
Add table
Reference in a new issue