IP Library › Granted Patent US 11,900,539
Granted Patent B2
US 11,900,539 · App. 17/590,521 · Granted Feb 13, 2024

Tile sequencing mechanism

Inventors: Subramaniam Maiyuran (Gold River, CA); Saurabh Sharma (El Dorado Hills, CA); Jorge F. Garcia Pabon (Folsom, CA); Raghavendra Kamath Miyar (Bangalore, IN); Sudheendra Srivathsa (Bangalore, IN); Justin Decell (San Francisco, CA); Aditya Navale (Folsom, CA)
Assignee: Intel Corporation
G06T17/20G06T1/20G06T15/005
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 11,900,539
App. No.
17/590,521
Granted
Feb 13, 2024
Kind
B2
Abstract

An apparatus to facilitate graphics rendering is disclosed. The apparatus comprises sequencer hardware to operate in a tile mode to render objects, including performing batch formation to generate one or more batches of received objects, performing tile sequencing for each of the objects to compute tile fill intersects for each of the objects and performing a play sequencing of each of the objects.

Claims (49)

1. An apparatus comprising:

a graphics processor including graphics processing resources configured for tile-based immediate-mode rendering, the graphics processor including:

a cache memory to store object data and associated control data for objects to be rendered by the graphics processor; and

sequencer circuitry to:

generate a plurality of batches of the objects to be rendered, each of the plurality of batches sized according to a size of the cache memory,

determine tiles intersected by objects in each of the plurality of batches,

maintain lit transaction information for the plurality of batches based on the intersected tiles, and

perform a play sequencing of each of the objects based on the lit transaction information,

wherein to perform the play sequencing includes to:

select, based on the lit transaction information, a cache aware tile-walk pattern; and

walk lit tiles according to the tile-walk pattern, wherein to walk a lit tile includes to process primitive commands for objects in the plurality of batches of objects that are associated with the lit tile.

2. The apparatus of claim 1 , wherein to generate the plurality of batches comprises to collect objects in a sequential order until a batch closing condition has been detected.

3. The apparatus of claim 2 , wherein the batch closing condition comprises at least one of a maximum batch size being accumulated, and detection of one or more asynchronous conditions.

4. The apparatus of claim 1 , wherein the lit transaction information comprises one or more tiles that are intersected by an object.

5. The apparatus of claim 4 , wherein the lit transaction information indicates that an object intersects a plurality of tiles.

6. The apparatus of claim 5 , wherein to perform the play sequencing comprises to play the objects in each of one or more tile bins out until the lit tiles have been sequentially replayed.

7. The apparatus of claim 1 , wherein play sequencing is performed for tiles in a first of the plurality of batches in parallel with the determining of tiles intersected by objects in a second of the plurality of batches.

8. The apparatus of claim 1 , further comprising mode control circuitry to receive information indicating whether the sequencer circuitry is to operate in tile mode or an in-order mode.

9. A method comprising:

rendering objects on a graphics processor that is configured in a tile-based immediate render mode, including:

generating a plurality of batches of objects to be rendered, each of the plurality of batches sized according to a size of a cache memory of the graphics processor;

determining tiles intersected by objects in each of the plurality of batches;

maintaining lit transaction information for the plurality of batches based on the intersected tiles; and

performing a play sequencing of each of the objects based on the lit transaction information, wherein object data and associated control data are stored to the cache memory of the graphics processor for use during play sequencing, wherein performing the play sequencing includes:

selecting, based on the lit transaction information, a cache aware tile-walk pattern; and

walking lit tiles according to the tile-walk pattern, wherein to walk a lit tile includes to process primitive commands for objects in the plurality of batches of objects that are associated with the lit tile.

10. The method of claim 9 , wherein generating the plurality of batches comprises:

collecting objects in a sequential order;

determining whether a batch closing condition has occurred; and

completing batch formation upon determining that a batch closing condition has occurred.

11. The method of claim 10 , wherein determining the tiles intersected by objects comprises:

comparing object extents with programmed tile extents; and

storing the objects in one or more tile bins based on the comparing.

12. The method of claim 11 , wherein the lit transaction information comprises one or more tiles that are intersected by an object.

13. The method of claim 12 , wherein the lit transaction information indicates that an object intersects a plurality of tiles.

14. The method of claim 13 , wherein performing the play sequencing comprises playing the objects in each of the one or more tile bins out until the lit tiles have been sequentially replayed.

15. The method of claim 9 , wherein play sequencing is performed for tiles in a first of the plurality of batches in parallel with the determining of tiles intersected by objects in a second of the plurality of batches.

16. A graphics processing unit (GPU), comprising:

a cache memory to store object data and associated control data for objects to be rendered via tile-based immediate-mode rendering;

sequencer circuitry to:

generate a plurality of batches of objects to be rendered, each of the plurality of batches sized according to a size of a cache memory of the graphics processing unit;

determine tiles intersected by objects in each of the plurality of batches;

maintain lit transaction information for the plurality of batches based on the intersected tiles;

perform a play sequencing of each of the objects based on the lit transaction information, wherein object data and associated control data are stored to the cache memory for use during play sequencing; and

rasterization circuitry to rasterize the objects into pixel data based on the play sequencing, wherein to perform the play sequencing includes to select, based on the lit transaction information, a cache aware tile-walk pattern and walk lit tiles according to the tile-walk pattern, wherein to walk a lit tile includes to process primitive commands for objects in the plurality of batches of objects that are associated with the lit tile.

17. The GPU of claim 16 , wherein to generate the plurality of batches comprises to collect objects in a sequential order until a batch closing condition has been detected.

18. The GPU of claim 17 , wherein the lit transaction information comprises one or more tiles that are intersected by an object.

19. The GPU of claim 18 , wherein the lit transaction information indicates that an object intersects a plurality of tiles.

20. The GPU of claim 19 , wherein to perform the play sequencing comprises to play the objects in each of one or more tile bins out until the lit tiles have been sequentially replayed.

Continuity (2)
Continuation 16914783 · Jun 29, 2020
Related Publication 20220262070A1 · Aug 18, 2022