US7920141B2

Method and apparatus for rasterizer interpolation

Summary by NHIP

Coarse grain tiling rasterizer

The rasterizer interpolator distributes graphics primitive instructions to multiple parallel pipelines dedicated to specific screen regions. A setup unit calculates pixel coverage against tiles, while a scan converter and Hierarchical-Z unit perform coarse grain tiling to minimize empty tiles through iterative calculations.

Claim Score by NHIP

Read claim 14, the broadest

Abstract

The present invention relates to a rasterizer interpolator. In one embodiment, a setup unit is used to distribute graphics primitive instructions to multiple parallel rasterizers. To increase efficiency, the setup unit calculates the polygon data and checks it against one or more tiles prior to distribution. An output screen is divided into a number of regions, with a number of assignment configurations possible for various number of rasterizer pipelines. For instance, the screen is sub-divided into four regions and one of four rasterizers is granted ownership of one quarter of the screen. To reduce time spent on processing empty times, a problem in prior art implementations, the present invention reduces empty tiles by the process of coarse grain tiling. This process occurs by a series of iterations performed in parallel. Each region undergoes an iterative calculation/tiling process where coverage of the primitive is deduced at a successively more detailed level.

US7920141B2, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Expired 3 October 2024, 2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

43 claims: 8 independent, 35 dependent

  1. 1
    A rasterizer interpolator comprising:a setup unit for calculating pixel coverage of a graphics primitive against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;a plurality of graphics pipelines, wherein each pipeline is dedicated to one of a plurality of screen regions with said setup unit distributing instructions to said pipelines, wherein the plurality of screen regions are divided into a plurality of tiles that are contiguous and similar;and wherein each pipeline further comprises: a rasterizer configured to receive said primitive determined to result in the generation of covered pixels in tiles in the screen region dedicated to said pipeline, and perform one or more graphics processing operations on said plurality of tiles that are contiguous and similar.
  2. 10
    A rasterizer interpolator comprising:a setup unit for calculating pixel coverage of a graphics primitive against one or more tiles and for minimizing empty tiles by reducing tiles to sub-tiles;a plurality of graphics chips, wherein each chip is dedicated to one of a plurality of screen regions with said setup unit distributing instructions to said chips, wherein the plurality of screen regions are divided into a plurality of tiles that are contiguous and similar;and wherein each chip further comprises: a plurality of parallel pipelines configured to receive said primitive determined to result in the generation of covered pixels in tiles in the screen region dedicated to said pipeline and perform one or more graphics processing operations on said plurality of tiles that are contiguous and similar.
  3. 14
    Broadest claimClaim Score 71, broad(NHIP)A method for interpolating tiles to a rasterizer comprising:determining pixel coverage of a plurality of graphics primitives against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;distributing said primitives to one or more pipelines, wherein each of said pipelines is granted ownership to a plurality of said tiles that are contiguous and similar in a designated screen region;using a rasterizer in each of said pipeline to receive said primitives and perform one or more graphics processing operations on said tiles that are contiguous and similar.
  4. 21
    A method for interpolating tiles to a rasterizer comprising:determining pixel coverage of a plurality of graphics primitives against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;distributing said primitives to one or more pipelines, wherein each of said pipelines is granted ownership to each of said tiles that fall into a designated screen region;using a rasterizer in each of said pipeline to receive said primitives and perform one or more graphics processing operations on said tiles;and using a scan converter and a Hierarchical-Z unit to perform a coarse grain tiling process on said tiles, wherein said step of using further comprises: computing a list of tiles in a current pipeline and covered by a current graphics primitive;generating a first mask value specifying which of intermediate tiles within each of said tiles on said list are visible;generating a sub-list containing smaller quad tiles within said intermediate tiles;computing a second mask value specifying which of said quad tiles are visible and a z plane equation.
  5. 25
    A method for interpolating tiles to a rasterizer comprising:determining pixel coverage of a plurality of graphics primitives against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;distributing said primitives to one or more graphic chips, wherein each of said graphics chip is granted ownership to a plurality of said tiles that are contiguous and similar in a designated screen region;using a plurality of pipelines in each of said graphics chip to receive said primitives, wherein each pipeline performs one or more graphics processing operations on said tiles that are contiguous and similar.
  6. 29
    A non-transitory computer usable medium comprising computer readable program code embodied therein configured to cause a computer to:interpolate tiles to a rasterizer;determine pixel coverage of a plurality of graphics primitives against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;distribute said primitives to one or more pipelines, wherein each of said pipelines is granted ownership to a plurality of said tiles that are contiguous and similar in a designated screen region;use a rasterizer in each of said pipeline to receive said primitives and perform one or more graphics processing operations on said tiles that are contiguous and similar.
  7. 36
    A non-transitory computer usable medium having computer readable program code embodied therein configured to cause a computer to:interpolate tiles to a rasterizer;determine pixel coverage of a plurality of graphics primitives against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;distribute said primitives to one or more pipelines, wherein each of said pipelines is granted ownership to each of said tiles that fall into a designated screen region;use a rasterizer in each of said pipeline to receive said primitives and perform one or more graphics processing operations on said tiles;and computer readable code configured to cause a computer to use a scan converter and a Hierarchical-Z unit to perform a coarse grain tiling process on said tiles, wherein said computer readable code configured to cause a computer to use further comprises: computer readable code configured to cause a computer to compute a list of tiles in a current pipeline and covered by a current graphics primitive;computer readable code configured to cause a computer to generate a first mask value specifying which of intermediate tiles within each of said tiles on said list are visible;computer readable code configured to cause a computer to generate a sub-list containing smaller quad tiles within said intermediate tiles;computer readable code configured to cause a computer to compute a second mask value specifying which of said quad tiles are visible and a z plane equation.
  8. 40
    A non-transitory computer usable medium having computer readable program code embodied therein configured to interpolate tiles to a rasterizer, said computer usable medium comprising:computer readable code configured to cause a computer to determine pixel coverage of a plurality of graphics primitives against one or more tiles and minimizing empty tiles by reducing tiles to sub-tiles;computer readable code configured to cause a computer to distribute said primitives to one or more graphic chips, wherein each of said graphics chip is granted ownership to a plurality of said tiles that are contiguous and similar in a designated screen region;computer readable code configured to cause a computer to use a plurality of pipelines in each of said graphics chip to receive said primitives, wherein each pipeline performs one or more graphics processing operations on said tiles that are contiguous and similar.