ROPs functionality

Radeon600

Newcomer
Hello all, I've learned many things here, and I thank everybody here, including Dave, I always find his Article very good and accurate.

At the moment, I am trying to read more and more about ROPs in GPUs, can somebody give me a brief hint of ROP Pipeline functionality, and what it does?.

Thanks all.
 
rops.gif


They are basically the middlemen between the execution units and the framebuffer. All they do is write z and color values to the framebuffer. The complexity comes in with compression and AA optimizations (and writing FP16 samples for HDR now as well). The bottleneck is of course that these operations are bandwidth bound.

The pic is from Dave's G70 article. http://www.beyond3d.com/previews/nvidia/g70/index.php?p=02
 
Thanks, Trinibwoy :)

Also, it would be nice of you, if you can tell me little more about those Z/C Comp and Z/C ROP please.
 
Radeon600 said:
Thanks, Trinibwoy :)

Also, it would be nice of you, if you can tell me little more about those Z/C Comp and Z/C ROP please.

I think someone with more technical expertise might be able to answer that a bit better :)

The Z-compare unit is for checking whether a pixel color should be written to the framebuffer or not. If the existing color is for a pixel that is in front of the one waiting to be written, the incoming pixel is discarded. Not exactly sure what the C-compare unit does.

The ROPs themselves actually do the reading/writing/blending of color and z values. They are connected directly to the DRAM controllers - nothing too fancy there AFAIK.
 
I thought that on this diagram Z-Comp was the Z compression unit and C-Comp the color compression unit because as you've said there is no Color compare unit (at most an alpha compare unit for alpha testing) but I may be wrong.
 
Yeah, C and Z comp are compression units. Z test is part of the Z ROP, inside the larger ROP pipe.
 
Rys said:
Yeah, C and Z comp are compression units. Z test is part of the Z ROP, inside the larger ROP pipe.

Ah thanks. Wasn't sure if comp meant compare or compression. But I knew both of them were in there somewhere.
 
trinibwoy said:
rops.gif


They are basically the middlemen between the execution units and the framebuffer. All they do is write z and color values to the framebuffer. The complexity comes in with compression and AA optimizations (and writing FP16 samples for HDR now as well). The bottleneck is of course that these operations are bandwidth bound.

The pic is from Dave's G70 article. http://www.beyond3d.com/previews/nvidia/g70/index.php?p=02

While true, it's not entirely encompassing, ROP's deal with destination blending, they are the only thing that have access to the existing framebuffer value.

The actualy functionality varies somewhat from vendor to vendor, but the color Rops usually have enough logic to implement a lerp, and add or a mul with the existing framebuffer values.

The Z rops will include stencil, and so will support inc and dec etc.
 
Back
Top