GSP: Add a few comments.

This commit is contained in:
Tony Wasserka 2014-07-22 13:04:16 +02:00
parent 9b0d0c81a0
commit 4b141791ed
2 changed files with 15 additions and 1 deletions

View File

@ -171,6 +171,9 @@ void TriggerCmdReqQueue(Service::Interface* self) {
command.dma_request.size);
break;
// ctrulib homebrew sends all relevant command list data with this command,
// hence we do all "interesting" stuff here and do nothing in SET_COMMAND_LIST_FIRST.
// TODO: This will need some rework in the future.
case GXCommandId::SET_COMMAND_LIST_LAST:
{
auto& params = command.set_command_list_last;
@ -186,6 +189,8 @@ void TriggerCmdReqQueue(Service::Interface* self) {
break;
}
// It's assumed that the two "blocks" behave equivalently.
// Presumably this is done simply to allow two memory fills to run in parallel.
case GXCommandId::SET_MEMORY_FILL:
{
auto& params = command.memory_fill;
@ -218,9 +223,10 @@ void TriggerCmdReqQueue(Service::Interface* self) {
break;
}
// TODO: Figure out what exactly SET_COMMAND_LIST_FIRST and SET_COMMAND_LIST_LAST
// are supposed to do.
case GXCommandId::SET_COMMAND_LIST_FIRST:
{
// TODO
break;
}

View File

@ -15,9 +15,17 @@ namespace GSP_GPU {
enum class GXCommandId : u32 {
REQUEST_DMA = 0x00,
SET_COMMAND_LIST_LAST = 0x01,
// Fills a given memory range with a particular value
SET_MEMORY_FILL = 0x02,
// Copies an image and optionally performs color-conversion or scaling.
// This is highly similar to the GameCube's EFB copy feature
SET_DISPLAY_TRANSFER = 0x03,
// Conceptionally similar to SET_DISPLAY_TRANSFER and presumable uses the same hardware path
SET_TEXTURE_COPY = 0x04,
SET_COMMAND_LIST_FIRST = 0x05,
};