mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-08 07:05:40 +12:00
[GSP::GPU] Correct setBufferSwap (also add a panic until a test case appears)
This commit is contained in:
parent
0b4497302b
commit
74c3c37805
1 changed files with 8 additions and 2 deletions
|
@ -263,14 +263,20 @@ void GPUService::setAxiConfigQoSMode(u32 messagePointer) {
|
||||||
|
|
||||||
void GPUService::setBufferSwap(u32 messagePointer) {
|
void GPUService::setBufferSwap(u32 messagePointer) {
|
||||||
FramebufferInfo info{};
|
FramebufferInfo info{};
|
||||||
const u32 screenId = mem.read32(messagePointer + 4); // Selects either PDC0 or PDC1
|
const u32 screenId = mem.read32(messagePointer + 4); // Selects either PDC0 or PDC1
|
||||||
info.activeFb = mem.read32(messagePointer + 8);
|
info.activeFb = mem.read32(messagePointer + 8);
|
||||||
info.leftFramebufferVaddr = mem.read32(messagePointer + 12);
|
info.leftFramebufferVaddr = mem.read32(messagePointer + 12);
|
||||||
info.rightFramebufferVaddr = mem.read32(messagePointer + 16);
|
info.rightFramebufferVaddr = mem.read32(messagePointer + 16);
|
||||||
info.stride = mem.read32(messagePointer + 20);
|
info.stride = mem.read32(messagePointer + 20);
|
||||||
info.format = mem.read32(messagePointer + 24);
|
info.format = mem.read32(messagePointer + 24);
|
||||||
info.displayFb = mem.read32(messagePointer + 28); // Selects either framebuffer A or B
|
info.displayFb = mem.read32(messagePointer + 28); // Selects either framebuffer A or B
|
||||||
|
|
||||||
|
log("GSP::GPU::SetBufferSwap\n");
|
||||||
|
Helpers::panic("Untested GSP::GPU::SetBufferSwap call");
|
||||||
|
|
||||||
setBufferSwapImpl(screenId, info);
|
setBufferSwapImpl(screenId, info);
|
||||||
|
mem.write32(messagePointer, IPC::responseHeader(0x05, 1, 0));
|
||||||
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Seems to also be completely undocumented
|
// Seems to also be completely undocumented
|
||||||
|
|
Loading…
Add table
Reference in a new issue