Zero pixel culling for graphics processing

US9959665B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9959665-B2
Application numberUS-201514805088-A
CountryUS
Kind codeB2
Filing dateJul 21, 2015
Priority dateJul 21, 2015
Publication dateMay 1, 2018
Grant dateMay 1, 2018

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 graphics processing unit (GPU) may include a triangle setup engine (TSE) configured to determine coordinates of a triangle, rotate coordinates of the triangle based on an angle. To rotate the coordinates, the TSE generates coordinates of the triangle in a rotated domain, and determines coordinates of a bounding box in the rotated domain based on the coordinates of the triangle in the rotated domain. The TSE determines a first plurality of parallel scanlines in the rotated domain, and a second plurality of parallel scanlines in the rotated domain. The first and second pluralities of scanlines are perpendicular. The TSE determines whether the bounding box coordinates are located within two adjacent scanlines. If the bounding box coordinates are located within the two adjacent scanlines, the TSE removes the triangle from the scene.

First claim

Opening claim text (preview).

What is claimed is: 1. A method performed by a graphics processing unit (GPU), the method comprising: determining coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rendered by the GPU using multi-sample anti-aliasing; rotating the coordinates of the primitive based on a 45 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a first rotated coordinate domain, the first rotated coordinate domain being different than the first coordinate domain; determining coordinates of a first bounding box in the first rotated coordinate domain based on the coordinates of the primitive in the first rotated coordinate domain; determining a first plurality of parallel scanlines in the first rotated coordinate domain; determining a second plurality of parallel scanlines in the first rotated coordinate domain, wherein the second plurality of parallel scanlines is perpendicular to the first plurality of parallel scanlines; determining whether the first bounding box coordinates in the first rotated coordinate domain are located within a first two adjacent scanlines of the first plurality of scanlines or within a second two adjacent scanlines of the second plurality of scanlines; responsive to determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines: removing the primitive from the scene such that subsequent rasterization computations for the primitive are not performed; rotating the coordinates of the primitive based on a 63.5 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a second rotated coordinate domain, the second rotated coordinate domain being different than the first coordinate domain; determining coordinates of a second bounding box in the second rotated coordinate domain based on the coordinates of the primitive in the second rotated coordinate domain; determining a third plurality of parallel scanlines in the second rotated coordinate domain; determining a fourth plurality of parallel scanlines in the second rotated coordinate domain, wherein the fourth plurality of parallel scanlines is perpendicular to the third plurality of parallel scanlines; determining whether the second bounding box coordinates in the second rotated coordinate domain are located within a first two adjacent scanlines of the third plurality of scanlines or within a second two adjacent scanlines of the fourth plurality of scanlines; and responsive to determining that the second bounding box coordinates are located within the first two adjacent scanlines of the third plurality of scanlines or the second two adjacent scanlines of the fourth plurality of scanlines: removing the primitive from the scene such that subsequent rasterization computations for the primitive are not performed. 2. The method of claim 1 , wherein rotating the primitive further comprises: rotating the primitive coordinates according to the transformation matrix: [ u v ] = [ cos ⁢ ⁢ θ - sin ⁢ ⁢ θ sin ⁢ ⁢ θ cos ⁢ ⁢ θ ] ⁡ [ x y ] , wherein u and v are coordinates of a point in the rotated coordinate domain, and wherein θ is the 45 degree angle. 3. The method of claim 2 , wherein determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines comprises: determining an absolute value of a difference between a maximum u-coordinate of the first bounding box and a minimum u-coordinate of the first bounding box; determining an absolute value of a difference between a maximum v-coordinate of the first bounding box and a minimum v-coordinate of the first bounding box; and responsive to determining that the absolute value of the difference between the maximum u-coordinate and the minimum v-coordinate value is less than one unit in the first rotated coordinate domain, or that the absolute value of the difference between the maximum u-coordinate and the minimum u-coordinate is less than one unit in the first rotated coordinate domain: determining that the first bounding box coordinates are located within the first two adjacent scanlines or within the second two adjacent scanlines; and removing the primitive from the scene such that the subsequent rasterization computations for the primitive are not performed. 4. The method of claim 1 , wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines correspond to pixels in the scene. 5. The method of claim 1 , further comprising: multisampling pixels of the primitive, wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines intersect at multisampled pixels of the primitive. 6. The method of claim 1 , wherein the primitive coordinates in the first coordinate domain comprise x-y Cartesian coordinates. 7. An apparatus comprising: a memory; and a graphics processing unit (GPU) in communication with the memory, the GPU configured to: determine coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rend

Assignees

Inventors

Classifications

  • involving antialiasing · CPC title

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

  • General purpose rendering architectures · CPC title

  • G06T15/40Primary

    Hidden part removal · CPC title

  • involving 3D image data · 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 US9959665B2 cover?
A graphics processing unit (GPU) may include a triangle setup engine (TSE) configured to determine coordinates of a triangle, rotate coordinates of the triangle based on an angle. To rotate the coordinates, the TSE generates coordinates of the triangle in a rotated domain, and determines coordinates of a bounding box in the rotated domain based on the coordinates of the triangle in the rotated …
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06T15/40. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 01 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).