diff options
Diffstat (limited to 'src/core/hle/service')
-rw-r--r-- | src/core/hle/service/gsp.cpp | 8 | ||||
-rw-r--r-- | src/core/hle/service/gsp.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/core/hle/service/gsp.cpp b/src/core/hle/service/gsp.cpp index fea521891..5baa7a7a2 100644 --- a/src/core/hle/service/gsp.cpp +++ b/src/core/hle/service/gsp.cpp @@ -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.. diff --git a/src/core/hle/service/gsp.h b/src/core/hle/service/gsp.h index 214de140f..fb50a928a 100644 --- a/src/core/hle/service/gsp.h +++ b/src/core/hle/service/gsp.h @@ -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, |