Tile based precision rasterization in a graphics pipeline
AssigneeNVIDIA Corporation
InventorsFranklin C. Crow, Blaise A. Vignon
Life of this patent
Estimating the term…
Abstract
In a raster stage of a graphics processor, a method for tile based precision rasterization. The method includes receiving a graphics primitive for rasterization in a raster stage of a graphics processor and rasterizing the graphics primitive at a first level precision to generate a plurality of tiles of pixels. The tiles are then rasterized at a second level precision to generate covered pixels. The covered pixels are then output for rendering operations in a subsequent stage of the graphics processor.
Claims15
In a raster stage of a graphics processor, a method for tile based precision rasterization comprising:
- receiving a graphics primitive for screen rasterization in a raster stage of a graphics processor;
- rasterizing the graphics primitive at a first level precision to generate a plurality of tiles of pixels using large integer operands of edge equations used to define said graphics primitive, wherein the rasterizing the graphics primitive comprises searching a grid of tiles to identify said plurality of tiles;
- and
- rasterizing the tiles at a second level precision to generate covered pixels, wherein the first level precision is higher than the second level precision, and wherein said second level of precision is based on a number of pixels in each of said plurality of tiles, wherein each of the plurality of tiles is divided into at least two portions and wherein the at least two portions are rasterized at a third level precision to address a plurality of pixels comprising each portion and wherein integer values for addressing the plurality of tiles at the first level precision are larger than integer values for addressing a plurality of pixels at the second level precision;
- and
- outputting the covered pixels for rendering operations in a subsequent stage of the graphics processor.
A GPU (graphics processor unit), comprising:
- a set-up unit for generating polygon descriptions;
- a rasterizer unit coupled to the set-up unit for screen rasterizing the polygon descriptions;
- a coarse raster unit within the rasterizer unit for rasterizing a graphics primitive at a first level precision to generate a plurality of tiles of pixels using large integer operands of edge equations used to define said graphics primitive, wherein the rasterizing the graphics primitive comprises searching a grid of tiles to identify said plurality of tiles;
- and
- a fine raster unit within the rasterizer unit for rasterizing the graphics primitive at a second level precision, wherein the first level precision is higher than the second level precision, to generate covered pixels for rendering operations in a subsequent stage of the graphics processor unit, and wherein said second level of precision is based on a number of pixels in each of said plurality of tiles, and wherein each of the plurality of tiles is divided into at least two portions and wherein the at least two portions are rasterized at a third level precision to address a plurality of pixels comprising each portion, and wherein integer values for addressing the plurality of tiles at the first level precision are larger than integer values for addressing a plurality of pixels at the second level precision.
A computer system, comprising:
- a system memory;
- a central processor unit coupled to the system memory;
- and
- a graphics processor unit communicatively coupled to the central processor unit;
- a set-up unit within the graphics processor unit for generating polygon descriptions;
- a rasterizer unit within the graphics processor unit and coupled to the set-up unit for screen rasterizing the polygon descriptions;
- and
- a coarse raster component within the rasterizer unit, wherein the coarse raster component is configured to receive a graphics primitive for rasterization in a raster stage of the graphics processor unit, rasterize the graphics primitive at a first level precision to generate a plurality of tiles of pixels using large integer operands of edge equations used to define said graphics primitive, wherein the rasterizing the graphics primitive comprises searching a grid of tiles to identify said plurality of tiles, and rasterize the tiles at a second level precision to generate covered pixels, and wherein the covered pixels are output for rendering operations in a subsequent stage of the graphics processor unit, wherein the first level precision is higher than the second level precision, and wherein said second level of precision is based on a number of pixels in each of said plurality of tiles, and wherein each of the plurality of tiles is divided into at least two portions and wherein the at least two portions are rasterized at a third level precision to address a plurality of pixels comprising each portion, and wherein integer values for addressing the plurality of tiles at the first level precision are larger than integer values for addressing a plurality of pixels at the second level precision.
Dependencies are inferred from the claim text.