mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-17 19:21:30 +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
|
// Service commands
|
||||||
void acquireRight(u32 messagePointer);
|
void acquireRight(u32 messagePointer);
|
||||||
|
void flushDataCache(u32 messagePointer);
|
||||||
void registerInterruptRelayQueue(u32 messagePointer);
|
void registerInterruptRelayQueue(u32 messagePointer);
|
||||||
void setLCDForceBlack(u32 messagePointer);
|
void setLCDForceBlack(u32 messagePointer);
|
||||||
void writeHwRegs(u32 messagePointer);
|
void writeHwRegs(u32 messagePointer);
|
||||||
|
|
|
@ -6,6 +6,7 @@ namespace GPUCommands {
|
||||||
RegisterInterruptRelayQueue = 0x00130042,
|
RegisterInterruptRelayQueue = 0x00130042,
|
||||||
WriteHwRegs = 0x00010082,
|
WriteHwRegs = 0x00010082,
|
||||||
WriteHwRegsWithMask = 0x00020084,
|
WriteHwRegsWithMask = 0x00020084,
|
||||||
|
FlushDataCache = 0x00080082,
|
||||||
SetLCDForceBlack = 0x000B0040
|
SetLCDForceBlack = 0x000B0040
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -26,6 +27,7 @@ void GPUService::handleSyncRequest(u32 messagePointer) {
|
||||||
const u32 command = mem.read32(messagePointer);
|
const u32 command = mem.read32(messagePointer);
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case GPUCommands::AcquireRight: acquireRight(messagePointer); break;
|
case GPUCommands::AcquireRight: acquireRight(messagePointer); break;
|
||||||
|
case GPUCommands::FlushDataCache: flushDataCache(messagePointer); break;
|
||||||
case GPUCommands::RegisterInterruptRelayQueue: registerInterruptRelayQueue(messagePointer); break;
|
case GPUCommands::RegisterInterruptRelayQueue: registerInterruptRelayQueue(messagePointer); break;
|
||||||
case GPUCommands::SetLCDForceBlack: setLCDForceBlack(messagePointer); break;
|
case GPUCommands::SetLCDForceBlack: setLCDForceBlack(messagePointer); break;
|
||||||
case GPUCommands::WriteHwRegs: writeHwRegs(messagePointer); break;
|
case GPUCommands::WriteHwRegs: writeHwRegs(messagePointer); break;
|
||||||
|
@ -148,8 +150,16 @@ void GPUService::writeHwRegsWithMask(u32 messagePointer) {
|
||||||
mem.write32(messagePointer + 4, Result::Success);
|
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) {
|
void GPUService::setLCDForceBlack(u32 messagePointer) {
|
||||||
u32 flag = mem.read32(messagePointer + 4);
|
u32 flag = mem.read32(messagePointer + 4);
|
||||||
|
printf("GSP::GPU::SetLCDForceBlank(flag = %d)\n", flag);
|
||||||
|
|
||||||
if (flag != 0) {
|
if (flag != 0) {
|
||||||
printf("Filled both LCDs with black\n");
|
printf("Filled both LCDs with black\n");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue