Early sample evaluation during coarse rasterization

US9495781B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9495781-B2
Application numberUS-201213529295-A
CountryUS
Kind codeB2
Filing dateJun 21, 2012
Priority dateJun 21, 2012
Publication dateNov 15, 2016
Grant dateNov 15, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A technique for early sample evaluation during coarse rasterization of primitives reduces the number of pixel tiles that are processed during fine rasterization of the primitive. A primitive bounding box determines when a primitive is small and may not actually cover any samples within at least one fine raster tile. Early sample evaluation is performed for the small primitive during coarse rasterization and the small primitive is discarded when no samples are actually covered by the small primitive. When the small primitive lies on a boundary between at least two fine raster tiles, early sample evaluation is performed during coarse rasterization to correctly identify which, if any, of the at least two fine raster tiles includes samples that are actually covered by the small primitive.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for rasterizing primitives, comprising: receiving a bounding box that entirely encloses a primitive and overlaps a first sample included in a first fine raster tile and a second sample included in a second fine raster tile; determining that the primitive is small based on dimensions of the bounding box; computing per-sample coverage for the primitive within a sub-tile that overlaps the first fine raster tile and the second fine raster tile, wherein the sub-tile includes a predetermined number of pixels that is less than a number of pixels within either of the first fine raster tile or the second fine raster tile; determining that at least one sample within the sub-tile and the first fine raster tile is covered by the primitive according to the per-sample coverage prior to computing fine raster information for the primitive within the first fine raster tile; in response to determining that the at least one sample is covered by the primitive within the first fine raster tile, computing fine raster information for the first fine raster tile; determining that no sample within the sub-tile and the second fine raster tile is covered by the primitive according to the per-sample coverage prior to computing fine raster information for the primitive within the second fine raster tile; and in response to determining that no sample within the sub-tile and the second fine raster tile is covered by the primitive, determining that fine raster information will not be computed for the primitive within the second fine raster tile. 2. The method of claim 1 , further comprising: receiving a second bounding box that entirely encloses a second primitive; and generating a small primitive portion of the second primitive by intersecting the second primitive with a third fine raster tile. 3. The method of claim 2 , further comprising: determining that the small primitive portion is small based on dimensions of a primitive portion bounding box that entirely encloses the small primitive portion; and computing per-sample coverage for the small primitive portion. 4. The method of claim 3 , further comprising computing coarse raster information for a coarse raster tile that includes the third fine raster tile based on the per-sample coverage for the small primitive portion. 5. The method of claim 3 , further comprising reducing at least one dimension of the second bounding box when no sample is covered by the small primitive portion according to the per-sample coverage for the small primitive portion. 6. The method of claim 1 , wherein determining that the primitive is small is also based on a number of edges of the primitive that intersect the sub-tile. 7. The method of claim 1 , further comprising reducing at least one dimension of the bounding box based on the per-sample coverage. 8. The method of claim 1 , further comprising, in response to determining that the at least one sample is covered by the primitive within the first fine raster tile, computing coarse raster information indicating which fine raster tiles within the coarse raster tile should be processed to compute per-sample coverage for the primitive. 9. The method of claim 1 , wherein determining that the primitive is small comprises determining that the bounding box area is not greater than four pixels. 10. The method of claim 1 , wherein determining that the primitive is small comprises determining that the bounding box area is not greater than four pixels when three edges of the primitive intersect the coarse raster tile, six pixels when two edges of the primitive intersect the coarse raster tile, and twelve pixels when only one edge of the primitive intersects the coarse raster tile. 11. The computer-implemented method of claim 1 , wherein computing the fine raster information comprises determining all of the samples within the first fine raster tile that are covered by the primitive. 12. The computer-implemented method of claim 1 , wherein the first fine raster tile is included in a first coarse raster tile and the second fine raster tile is included in a second coarse raster tile. 13. The computer-implemented method of claim 1 , wherein computing the per-sample coverage for the primitive within the sub-tile that overlaps the first fine raster tile and the second fine raster tile is performed in response to determining that the primitive is small. 14. A graphics processor, comprising: a rasterizer configured to: receive a bounding box that entirely encloses a primitive and overlaps a first sample included in a first fine raster tile and a second sample included in a second fine raster tile; determine that the primitive is small based on dimensions of the bounding box; compute per-sample coverage for the primitive within a sub-tile that overlaps the first fine raster tile and the second fine raster tile, wherein the sub-tile includes a predetermined number of pixels that is less than a number of pixels within either of the first fine raster tile or the second fine raster tile; determine that at least one sample within the sub-tile and the first fine raster tile is covered by the primitive according to the per-sample coverage prior to computing fine raster information for the primitive within the first fine raster tile; in response to determining that the at least one sample is covered by the primitive within the first fine raster tile, compute fine raster information for the first fine raster tile; determine that no sample within the sub-tile and the second fine raster tile is covered by the primitive according to the per-sample coverage prior to computing fine raster information for the primitive within the second fine raster tile; and in response to determining that no sample within the sub-tile and the second fine raster tile is covered by the primitive, determine that fine raster information will not be computed for the primitive within the second fine raster tile. 15. The processing subsystem of claim 14 , wherein the rasterizer is further configured to: receive a second bounding box that entirely encloses a second primitive; and generate a small primitive portion of the second primitive by intersecting the second primitive with a third fine raster tile. 16. The processing subsystem of claim 15 , wherein the rasterizer is further configured to: determine that the small primitive portion is small based on dimensions of a primitive portion bounding box that entirely encloses the small primitive portion; and compute per-sample coverage for the small primitive portion. 17. The processing subsystem of claim 16 , wherein the rasterizer is further configured to compute coarse raster information for a coarse raster tile that includes the third fine raster tile based on the per-sample coverage for the small primitive portion. 18. The processing subsystem of claim 16 , wherein the rasterizer is further configured to reduce at least one dimension of the second bounding box when no sample is covered by the small primitive portion according to the per-sample coverage for the small primitive portion. 19. The processing subsystem of claim 14 , wherein the rasterizer is further configured to reduce at least one dimension of the bounding box based on the per-sample coverage. 20. The processing subsystem of claim 14 , wherein the rasterizer is further configured to, in response to determining that the at least one sample is covered by the primitive within the first fine raster tile, compute coarse raster infor

Assignees

Inventors

Classifications

  • G06T11/40Primary

    Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • General purpose rendering architectures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9495781B2 cover?
A technique for early sample evaluation during coarse rasterization of primitives reduces the number of pixel tiles that are processed during fine rasterization of the primitive. A primitive bounding box determines when a primitive is small and may not actually cover any samples within at least one fine raster tile. Early sample evaluation is performed for the small primitive during coarse rast…
Who is the assignee on this patent?
Lum Eric, Steiner Walter R, Cobb Justin, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06T11/40. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 15 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).