mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-25 16:42:39 -06:00
GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.
This commit is contained in:
parent
cb8f49b7ea
commit
ec9511e1db
2 changed files with 17 additions and 2 deletions
|
@ -176,10 +176,17 @@ void TriggerCmdReqQueue(Service::Interface* self) {
|
||||||
case GXCommandId::SET_MEMORY_FILL:
|
case GXCommandId::SET_MEMORY_FILL:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// TODO: Check if texture copies are implemented correctly..
|
||||||
case GXCommandId::SET_DISPLAY_TRANSFER:
|
case GXCommandId::SET_DISPLAY_TRANSFER:
|
||||||
break;
|
|
||||||
|
|
||||||
case GXCommandId::SET_TEXTURE_COPY:
|
case GXCommandId::SET_TEXTURE_COPY:
|
||||||
|
GPU::Write<u32>(GPU::Registers::DisplayInputBufferAddr, cmd_buff[1] >> 3);
|
||||||
|
GPU::Write<u32>(GPU::Registers::DisplayOutputBufferAddr, cmd_buff[2] >> 3);
|
||||||
|
GPU::Write<u32>(GPU::Registers::DisplayInputBufferSize, cmd_buff[3]);
|
||||||
|
GPU::Write<u32>(GPU::Registers::DisplayOutputBufferSize, cmd_buff[4]);
|
||||||
|
GPU::Write<u32>(GPU::Registers::DisplayTransferFlags, cmd_buff[5]);
|
||||||
|
|
||||||
|
// TODO: GPU::Registers::DisplayTriggerTransfer should be ORed with 1 for texture copies?
|
||||||
|
GPU::Write<u32>(GPU::Registers::DisplayTriggerTransfer, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GXCommandId::SET_COMMAND_LIST_FIRST:
|
case GXCommandId::SET_COMMAND_LIST_FIRST:
|
||||||
|
|
|
@ -22,6 +22,14 @@ struct Registers {
|
||||||
FramebufferSubRight1 = 0x1EF00594, // Sub LCD, unused first framebuffer
|
FramebufferSubRight1 = 0x1EF00594, // Sub LCD, unused first framebuffer
|
||||||
FramebufferSubRight2 = 0x1EF00598, // Sub LCD, unused second framebuffer
|
FramebufferSubRight2 = 0x1EF00598, // Sub LCD, unused second framebuffer
|
||||||
|
|
||||||
|
DisplayInputBufferAddr = 0x1EF00C00,
|
||||||
|
DisplayOutputBufferAddr = 0x1EF00C04,
|
||||||
|
DisplayOutputBufferSize = 0x1EF00C08,
|
||||||
|
DisplayInputBufferSize = 0x1EF00C0C,
|
||||||
|
DisplayTransferFlags = 0x1EF00C10,
|
||||||
|
// Unknown??
|
||||||
|
DisplayTriggerTransfer = 0x1EF00C18,
|
||||||
|
|
||||||
CommandListSize = 0x1EF018E0,
|
CommandListSize = 0x1EF018E0,
|
||||||
CommandListAddress = 0x1EF018E8,
|
CommandListAddress = 0x1EF018E8,
|
||||||
ProcessCommandList = 0x1EF018F0,
|
ProcessCommandList = 0x1EF018F0,
|
||||||
|
|
Loading…
Reference in a new issue