diff options
| author | 2014-06-04 18:30:23 +0200 | |
|---|---|---|
| committer | 2014-07-23 00:33:08 +0200 | |
| commit | baf0aa04f50dff257b57fa78786e53b97c1e6abb (patch) | |
| tree | 3dc92a276f58d1099eb19dd2b5fcb52c69a8da9a /src/core/hle | |
| parent | GPU: Add proper framebuffer register handling. (diff) | |
| download | yuzu-baf0aa04f50dff257b57fa78786e53b97c1e6abb.tar.gz yuzu-baf0aa04f50dff257b57fa78786e53b97c1e6abb.tar.xz yuzu-baf0aa04f50dff257b57fa78786e53b97c1e6abb.zip | |
GPU: Emulate memory fills.
Diffstat (limited to 'src/core/hle')
| -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) { | |||
| 174 | break; | 174 | break; |
| 175 | 175 | ||
| 176 | case GXCommandId::SET_MEMORY_FILL: | 176 | case GXCommandId::SET_MEMORY_FILL: |
| 177 | GPU::Write<u32>(GPU::Registers::MemoryFillStart1, cmd_buff[1] >> 3); | ||
| 178 | GPU::Write<u32>(GPU::Registers::MemoryFillEnd1, cmd_buff[3] >> 3); | ||
| 179 | GPU::Write<u32>(GPU::Registers::MemoryFillSize1, cmd_buff[3] - cmd_buff[1]); | ||
| 180 | GPU::Write<u32>(GPU::Registers::MemoryFillValue1, cmd_buff[2]); | ||
| 181 | GPU::Write<u32>(GPU::Registers::MemoryFillStart2, cmd_buff[4] >> 3); | ||
| 182 | GPU::Write<u32>(GPU::Registers::MemoryFillEnd2, cmd_buff[6] >> 3); | ||
| 183 | GPU::Write<u32>(GPU::Registers::MemoryFillSize2, cmd_buff[6] - cmd_buff[4]); | ||
| 184 | GPU::Write<u32>(GPU::Registers::MemoryFillValue2, cmd_buff[5]); | ||
| 177 | break; | 185 | break; |
| 178 | 186 | ||
| 179 | // TODO: Check if texture copies are implemented correctly.. | 187 | // 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 { | |||
| 14 | enum class GXCommandId : u32 { | 14 | enum class GXCommandId : u32 { |
| 15 | REQUEST_DMA = 0x00000000, | 15 | REQUEST_DMA = 0x00000000, |
| 16 | SET_COMMAND_LIST_LAST = 0x00000001, | 16 | SET_COMMAND_LIST_LAST = 0x00000001, |
| 17 | SET_MEMORY_FILL = 0x00000002, // TODO: Confirm? (lictru uses 0x01000102) | 17 | SET_MEMORY_FILL = 0x01000102, // TODO: Confirm? |
| 18 | SET_DISPLAY_TRANSFER = 0x00000003, | 18 | SET_DISPLAY_TRANSFER = 0x00000003, |
| 19 | SET_TEXTURE_COPY = 0x00000004, | 19 | SET_TEXTURE_COPY = 0x00000004, |
| 20 | SET_COMMAND_LIST_FIRST = 0x00000005, | 20 | SET_COMMAND_LIST_FIRST = 0x00000005, |