GSP Shared Memory: Difference between revisions
Add bugs section |
m Use conventional names |
||
Line 153: | Line 153: | ||
Addresses specified in command parameters are virtual addresses. Depending on the command, there might be constraints on the accepted parameters. In general, some commands require parameters to be aligned, and addresses are expected to be on [[Memory_Management#Memory_Mapping|linear]], [[Memory_layout#0x1F000000_.28New_3DS_only.29|QTM]] or VRAM memory. | Addresses specified in command parameters are virtual addresses. Depending on the command, there might be constraints on the accepted parameters. In general, some commands require parameters to be aligned, and addresses are expected to be on [[Memory_Management#Memory_Mapping|linear]], [[Memory_layout#0x1F000000_.28New_3DS_only.29|QTM]] or VRAM memory. | ||
=== | === RequestDMA === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 185: | Line 185: | ||
Any process must have acquired rendering rights, otherwise the command does nothing. | Any process must have acquired rendering rights, otherwise the command does nothing. | ||
=== | === ProcessCommandList === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 217: | Line 217: | ||
Any process must have acquired rendering rights, otherwise the command does nothing. | Any process must have acquired rendering rights, otherwise the command does nothing. | ||
=== | === MemoryFill === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 253: | Line 253: | ||
Addresses should be aligned to 8 bytes and must be in linear, QTM or VRAM memory, otherwise error 0xE0E02BF5 (GSP_INVALID_ADDRESS) is returned. The start address for a buffer must be below its end address, else the same error is returned. If the start address for a buffer is 0, that buffer is skipped; otherwise, its relative PSC unit is used for the fill operation. | Addresses should be aligned to 8 bytes and must be in linear, QTM or VRAM memory, otherwise error 0xE0E02BF5 (GSP_INVALID_ADDRESS) is returned. The start address for a buffer must be below its end address, else the same error is returned. If the start address for a buffer is 0, that buffer is skipped; otherwise, its relative PSC unit is used for the fill operation. | ||
=== | === DisplayTransfer === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 286: | Line 286: | ||
No error checking is performed on the parameters. Addresses should be aligned to 8 bytes and should be in linear, QTM or VRAM memory, otherwise PA 0 is used. | No error checking is performed on the parameters. Addresses should be aligned to 8 bytes and should be in linear, QTM or VRAM memory, otherwise PA 0 is used. | ||
=== | === TextureCopy === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 322: | Line 322: | ||
No error checking is performed on the parameters. Addresses and size should be aligned to 8 bytes, and the addresses should be in linear, QTM or VRAM memory, otherwise PA 0 is used. | No error checking is performed on the parameters. Addresses and size should be aligned to 8 bytes, and the addresses should be in linear, QTM or VRAM memory, otherwise PA 0 is used. | ||
=== | === FlushCacheRegions === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" |