mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2024-11-28 04:24:15 +01:00
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);
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user