
N64® Functions Menu
|
al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive
|
 |
gDPPipelineMode
Format
#include "gbi.h"
gDPPipelineMode(Gfx *gdl,
unsigned int mode)
gsDPPipelineMode(unsigned int mode)
Arguments
- gdl is the pointer to the graphics display list
- mode is the RDP pipeline mode (G_PM_1PRIMITIVE or G_PM_NPRIMITIVE)
What This Macro Does
It sets the mode (cache coherent or pipeline) for using the RDP internal span caches. By using the RDP internal span caches, you can make rendering more efficient. There are two ways to use this span cache:
G_PM_1PRIMITIVE selects 'cache coherent' mode. If two spans in the same
screen neighborhood are rendered back to back, the second span uses the
framebuffer result of the first span (which may not have been written to
the framebuffer yet) as the framebuffer pixel source. This is important
for correct read-modify-write pixel operations where the second span
result depends on the first span's read-modify-write operation. This
mode costs some pixel-fill performance.
G_PM_NPRIMITIVE selects the 'pipeline' mode. It uses the span cache without coherency, but it is faster. You may see artifacts, typically in anti-aliased
rendering modes. This is because two adjacent triangles may share two back-to-back spans in the same pixel neighborhood. If the second span does not wait until first span's processing is finished, it will read the wrong values from the framebuffer (and then write the incorrect values back to the framebuffer).
G_PM_1PRIMITIVE mode can cause loss of fill rate due to
the idle cycles between primitives. In the worst case, the
lost fill rate can be on the order of 1.5M pixels/sec. Because in real games, the visual anomalies caused by overlapping
primitives will be rare and minor, Nintendo recommends that the
G_PM_NPRIMITIVE mode be used for better performance.
See Also
gDPSetRenderMode
|
Nintendo® Confidential
Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved Nintendo and N64 are registered trademarks of Nintendo
Last updated January 1998
|
|