aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/gsp.cpp8
-rw-r--r--src/core/hle/service/gsp.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/src/core/hle/service/gsp.cpp b/src/core/hle/service/gsp.cpp
index fea52189..5baa7a7a 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 214de140..fb50a928 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,