GPU: Emulate memory fills.
This commit is contained in:
parent
0b4055c152
commit
baf0aa04f5
4 changed files with 89 additions and 3 deletions
|
@ -174,6 +174,14 @@ void TriggerCmdReqQueue(Service::Interface* self) {
|
|||
break;
|
||||
|
||||
case GXCommandId::SET_MEMORY_FILL:
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillStart1, cmd_buff[1] >> 3);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillEnd1, cmd_buff[3] >> 3);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillSize1, cmd_buff[3] - cmd_buff[1]);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillValue1, cmd_buff[2]);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillStart2, cmd_buff[4] >> 3);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillEnd2, cmd_buff[6] >> 3);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillSize2, cmd_buff[6] - cmd_buff[4]);
|
||||
GPU::Write<u32>(GPU::Registers::MemoryFillValue2, cmd_buff[5]);
|
||||
break;
|
||||
|
||||
// TODO: Check if texture copies are implemented correctly..
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace GSP_GPU {
|
|||
enum class GXCommandId : u32 {
|
||||
REQUEST_DMA = 0x00000000,
|
||||
SET_COMMAND_LIST_LAST = 0x00000001,
|
||||
SET_MEMORY_FILL = 0x00000002, // TODO: Confirm? (lictru uses 0x01000102)
|
||||
SET_MEMORY_FILL = 0x01000102, // TODO: Confirm?
|
||||
SET_DISPLAY_TRANSFER = 0x00000003,
|
||||
SET_TEXTURE_COPY = 0x00000004,
|
||||
SET_COMMAND_LIST_FIRST = 0x00000005,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue