#include <revolution/gx.h> inline void GXFastCallDisplayList( const void* list, u32 nbytes );
| list | Pointer to the display list command. Must be 32-byte aligned. |
|---|---|
| nbytes | Number of bytes in the display list. Must be a multiple of 32. |
None.
This function will cause the graphics processor (GP) to execute graphics commands from the display list, list, instead of from the GP FIFO. When an amount equal to nbytes (a multiple of 32) has been read, the graphics processor will resume executing commands from the graphics FIFO.
This command is nearly the same as the GXCallDisplayList function; there are some important differences, however. Primary among them is that this command does not flush any pending GX state before placing the call command into the FIFO. This means that if this function is invoked prior to pending states being flushed, the effect of certain earlier GX calls will not be in place during the execution of the called display list. To be safe, this function should only be called after any pending GX state is guaranteed to have been flushed. One of the following actions does so:
To learn more about pending GX states, refer to the section on GX states.
The GXFastCallDisplayList function has all the same additional restrictions as the GXCallDisplayList function. A display list cannot call another display list. The display list must be padded to a length of 32 bytes. All the data in the display list is interpreted by the graphics processor, so any unused memory at the end of a display list should be set to GX_NOP (zero). If you create a display list using the GXBeginDisplayList and GXEndDisplayList functions, these functions automatically perform padding.
2006/03/01 Initial version.
CONFIDENTIAL