×

Apparatus, system, and method for Z-culling

  • US 7,755,624 B1
  • Filed: 11/07/2008
  • Issued: 07/13/2010
  • Est. Priority Date: 12/19/2003
  • Status: Active Grant
First Claim
Patent Images

1. An integrated circuit for culling tiles in a graphics processing system, comprising:

  • a first processor including;

    a vertex engine to perform vertex processing;

    a coarse-raster module configured to receive data from the vertex engine and rasterize primitives at a coarse level of resolution corresponding to tiles having groups of pixels and generate information sufficient to determine a Znear for tiles corresponding to a nearest Z distance of a tile with respect to an eyepoint;

    a coarse Z-cull module receiving an output of said raster module, the Z-cull module constructing a surface of nearest and farthest objects being rendered and determining Z depth data for near and far objects to generate information for determining tiles that may be culled by comparing Z depth information of incoming tiles with Znear and Zfar values of previously observed tiles having the same tile location, where Zfar is a farthest Z distance with respect to said eyepoint;

    a fine raster module coupled to an output of said Z-cull module configured to generate Zfar values for incoming primitives at a fine resolution corresponding to screen regions at least as small as 1 pixel in size, each Zfar value corresponding to a conservative estimate of a farthest Z value with respect to an eyepoint; and

    an on-chip cache memory configured to coalesce said Zfar values generated from said fine raster module, coalesce coverage masks across samples, generate Zfar values for samples within tiles, and provide a maximum Zfar value for covered tiles to said Z-cull module;

    said first processor being operative to generate coarse Z cull information for determining tiles capable of being culled;

    said first processor performing vertex processing, rasterization, and Z-culling on a frame-by-frame basis to process frames identical to those processed by a second processing unit but with said first processing unit working one frame ahead of said second processing unit and at a coarser level of resolution such that said second processing unit begins the processing of a new frame with an initial set of culling information generated by said first processor for the same frame;

    wherein a coalescence cache includes a coalescing policy for performing for an incoming new tile at least one of dropping said new incoming tile, coalescing said new incoming tile with exiting tiles, or creating a new entry for said incoming tile; and

    wherein said second processor performs a second step of vertex processing, a second step of rasterization, and a second step of Z-culling for the current frame at a time corresponding to one frame after said first processor processes the current frame.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×