IP Library Granted Patent US 12664721
Granted Patent B2
US 12664721 · App. 17/851,611 · Granted Jun 23, 2026

Binning pass with hierarchical depth data determination

Inventors: Kiia K. Kallio (Inkoo, FI); Miikka Kangasluoma (Noormakuu, FI); Jan Achrenius (Noormakuu, FI)
Assignee: Advanced Micro Devices, Inc.
G06T15/405G06T15/30G06T2210/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12664721
App. No.
17/851,611
Granted
Jun 23, 2026
Kind
B2
Abstract

Currently with performing a visibility pass for two or more coarse bins of an image, a processing system determines a bounding box for a primitive to be rendered for the image based on a bottom left-most point of the primitive and a top right-most point of the primitive. The processing system then determines whether each tile of the image inside the boundary box is completely covered by the primitive. In response to the primitive not completely covering a tile, the depth data for the primitive in that tile is discarded. In response to the primitive completely covering a tile, the depth data for the primitive in that tile is passed on to a depth buffer. Based on the depth data passed to the depth buffer, the processing system then performs pixel-based rendering of the primitive.

Claims (48)

1 . A method comprising:

for each primitive of a plurality of primitives of an image to be rendered:

in response to a predetermined threshold percentage of a first tile of the image being covered by the primitive, passing depth data of the primitive in the first tile to a depth buffer; and

in response to the predetermined threshold percentage of the first tile not being covered by the primitive, rejecting the depth data of the primitive in the first tile such that the depth data of the primitive in the first tile is not passed to the depth buffer; and

rendering the primitive based on the depth data in the depth buffer.

2 . The method of claim 1 , further comprising, for each primitive of the plurality of primitives:

generating a bounding box for the primitive; and

cutting each tile of the image not within the bounding box, wherein the first tile is within the bounding box.

3 . The method of claim 2 , further comprising, for each primitive of the plurality of primitives:

rounding the bounding box.

4 . The method of claim 2 , further comprising, for each primitive of the plurality of primitives:

in response to the bounding box being invalid, culling the primitive.

5 . The method of claim 1 , further comprising, for one or more primitives of the plurality of primitives:

in response to passing depth data of the primitive in the first tile to the depth buffer, determining whether a predetermined threshold percentage of a second tile of the image is covered by the primitive.

6 . The method of claim 1 , further comprising:

performing a visibility pass for one or more coarse bins of the image concurrently with determining, for one or more primitives of the plurality of primitives, whether the predetermined threshold percentage of the first tile of the image is covered by the primitive.

7 . A method comprising:

for each primitive of a plurality of primitives of an image to be rendered, generating a bounding box for the primitive;

for each tile of a plurality of tiles of the image within the bounding box:

in response to determining a predetermined threshold percentage of the tile being covered by the primitive, passing depth data of the primitive in the tile to a depth buffer used to render the primitive; and

in response to the predetermined threshold percentage of the tile not being covered by the primitive, rejecting the depth data of the primitive in the tile such that the depth data is not passed to the depth buffer.

8 . The method of claim 7 , further comprising, for each primitive of the plurality of primitives:

rounding the bounding box; and

cutting each tile of the image not within the bounding box.

9 . The method of claim 7 , further comprising, for each primitive of the plurality of primitives:

in response to the bounding box being invalid, culling the primitive.

10 . The method of claim 7 , further comprising:

performing a visibility pass for the image concurrently with determining whether a predetermined threshold percentage of one or more tiles of the image are covered by one or more primitives of the plurality of primitives.

11 . The method of claim 10 , further comprising:

generating visibility data for a bin based on the visibility pass; and

rendering the plurality of primitives based on the visibility data and the depth data stored in the depth buffer.

12 . An accelerated processing unit, comprising:

a plurality of processor cores including circuitry configured to:

for each primitive of a plurality of primitives of an image to be rendered:

in response to a predetermined threshold percentage of a tile of the image being covered by the primitive, pass depth data of the primitive in the tile to a depth buffer; and

in response to the predetermined threshold percentage of the tile not being covered by the primitive, reject the depth data of the primitive in the tile such that the depth data of the primitives in the tile is not passed to the depth buffer; and

render the primitive based on the depth data in the depth buffer.

13 . The accelerated processing unit of claim 12 , wherein the plurality of processor cores includes circuitry configured to, for each primitive of the plurality of primitives:

generate a bounding box for the primitive; and

trim each tile of the image not within the bounding box, wherein the tile is within the bounding box.

14 . The accelerated processing unit of claim 13 , wherein the plurality of processor cores includes circuitry configured to, for each primitive of the plurality of primitives:

round the bounding box.

15 . The accelerated processing unit of claim 14 , wherein the plurality of processor cores includes circuitry configured to, for each primitive of the plurality of primitives:

in response to the bounding box being invalid, cull the primitive.

16 . The accelerated processing unit of claim 12 , wherein the plurality of processor cores includes circuitry configured to, for one or more primitives of the plurality of primitives:

in response to passing depth data of the primitive in the tile to the depth buffer, determine whether a predetermined threshold percentage of a second tile of the image is covered by the primitive of the image.

17 . The accelerated processing unit of claim 12 , wherein the plurality of processor cores includes circuitry configured to:

perform a visibility pass for one or more bins of the image concurrently with determining whether the predetermined threshold percentage of the tile of the image is covered by one or more primitives of plurality of primitives.