gDPPipeSync [Macro]



Synchronizes RDP attribute updates by waiting for pixels to be processed during the rendering of primitives


#include <ultra64.h>        /* gbi.h */
gDPPipeSync(Gfx *gdl)


Display list pointer


This is a synchronization command that effects the timing of an RDP attribute update, making it wait during primitive rendering.

The RDP does not synchronize primitive rendering with attribute updates automatically, so if the attribute changes after the processing of a primitive has begun, this could affect the pixels while the primitive is being rendered. This command inserts a synchoronization instruction into the application, which forces the application to wait for the last pixel of the primitive to be processed.

For details, see Section 12.1.1 "RDP Programming" and Section 12.2.2 "Synchronization" in the N64 Programming Manual.

There are three attributes for which synchronization is not necessary: the primitive color (g*DPSetPrimColor), the primitive depth (g*DPSetPrimDepth), and scissor (g*DPSetScissor).


As a general rule, the gDPPipeSync command must be inserted after a series of primitives. If you are going to execute a RDP attribute change command, be sure to insert gDPPipeSync before that command.

Revision History

02/01/99 Completely rewritten.