diff options
Diffstat (limited to 'src/core/hle/service/gsp.cpp')
| -rw-r--r-- | src/core/hle/service/gsp.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/hle/service/gsp.cpp b/src/core/hle/service/gsp.cpp index 05753fa2c..b20203e27 100644 --- a/src/core/hle/service/gsp.cpp +++ b/src/core/hle/service/gsp.cpp | |||
| @@ -171,6 +171,9 @@ void TriggerCmdReqQueue(Service::Interface* self) { | |||
| 171 | command.dma_request.size); | 171 | command.dma_request.size); |
| 172 | break; | 172 | break; |
| 173 | 173 | ||
| 174 | // ctrulib homebrew sends all relevant command list data with this command, | ||
| 175 | // hence we do all "interesting" stuff here and do nothing in SET_COMMAND_LIST_FIRST. | ||
| 176 | // TODO: This will need some rework in the future. | ||
| 174 | case GXCommandId::SET_COMMAND_LIST_LAST: | 177 | case GXCommandId::SET_COMMAND_LIST_LAST: |
| 175 | { | 178 | { |
| 176 | auto& params = command.set_command_list_last; | 179 | auto& params = command.set_command_list_last; |
| @@ -186,6 +189,8 @@ void TriggerCmdReqQueue(Service::Interface* self) { | |||
| 186 | break; | 189 | break; |
| 187 | } | 190 | } |
| 188 | 191 | ||
| 192 | // It's assumed that the two "blocks" behave equivalently. | ||
| 193 | // Presumably this is done simply to allow two memory fills to run in parallel. | ||
| 189 | case GXCommandId::SET_MEMORY_FILL: | 194 | case GXCommandId::SET_MEMORY_FILL: |
| 190 | { | 195 | { |
| 191 | auto& params = command.memory_fill; | 196 | auto& params = command.memory_fill; |
| @@ -218,9 +223,10 @@ void TriggerCmdReqQueue(Service::Interface* self) { | |||
| 218 | break; | 223 | break; |
| 219 | } | 224 | } |
| 220 | 225 | ||
| 226 | // TODO: Figure out what exactly SET_COMMAND_LIST_FIRST and SET_COMMAND_LIST_LAST | ||
| 227 | // are supposed to do. | ||
| 221 | case GXCommandId::SET_COMMAND_LIST_FIRST: | 228 | case GXCommandId::SET_COMMAND_LIST_FIRST: |
| 222 | { | 229 | { |
| 223 | // TODO | ||
| 224 | break; | 230 | break; |
| 225 | } | 231 | } |
| 226 | 232 | ||