GSP: Add a few comments.
This commit is contained in:
parent
9b0d0c81a0
commit
4b141791ed
@ -171,6 +171,9 @@ void TriggerCmdReqQueue(Service::Interface* self) {
|
|||||||
command.dma_request.size);
|
command.dma_request.size);
|
||||||
break;
|
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:
|
case GXCommandId::SET_COMMAND_LIST_LAST:
|
||||||
{
|
{
|
||||||
auto& params = command.set_command_list_last;
|
auto& params = command.set_command_list_last;
|
||||||
@ -186,6 +189,8 @@ void TriggerCmdReqQueue(Service::Interface* self) {
|
|||||||
break;
|
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:
|
case GXCommandId::SET_MEMORY_FILL:
|
||||||
{
|
{
|
||||||
auto& params = command.memory_fill;
|
auto& params = command.memory_fill;
|
||||||
@ -218,9 +223,10 @@ void TriggerCmdReqQueue(Service::Interface* self) {
|
|||||||
break;
|
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:
|
case GXCommandId::SET_COMMAND_LIST_FIRST:
|
||||||
{
|
{
|
||||||
// TODO
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,9 +15,17 @@ namespace GSP_GPU {
|
|||||||
enum class GXCommandId : u32 {
|
enum class GXCommandId : u32 {
|
||||||
REQUEST_DMA = 0x00,
|
REQUEST_DMA = 0x00,
|
||||||
SET_COMMAND_LIST_LAST = 0x01,
|
SET_COMMAND_LIST_LAST = 0x01,
|
||||||
|
|
||||||
|
// Fills a given memory range with a particular value
|
||||||
SET_MEMORY_FILL = 0x02,
|
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,
|
SET_DISPLAY_TRANSFER = 0x03,
|
||||||
|
|
||||||
|
// Conceptionally similar to SET_DISPLAY_TRANSFER and presumable uses the same hardware path
|
||||||
SET_TEXTURE_COPY = 0x04,
|
SET_TEXTURE_COPY = 0x04,
|
||||||
|
|
||||||
SET_COMMAND_LIST_FIRST = 0x05,
|
SET_COMMAND_LIST_FIRST = 0x05,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user