IP Library Granted Patent US 12,406,325
Granted Patent B1
US 12,406,325 · App. 18/594,282 · Granted Sep 2, 2025

Tile based computer graphics

Inventors: Steven J. Fishwick (Kings Langley, GB); John W. Howson (Kings Langley, GB)
Assignee: Imagination Technologies Limited
G06T1/20G06T1/00G06T15/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 12,406,325
App. No.
18/594,282
Granted
Sep 2, 2025
Kind
B1
Abstract

A method and system for generating and shading a computer graphics image in a tile based computer graphics system is provided. Geometry data is supplied and a plurality of primitives are derived from the geometry data. One or more modified primitives are then derived from at least one of the plurality of primitives. For each of a plurality of tiles, an object list is derived including data identifying the primitive from which each modified primitive located at least partially within that tile is derived. Alternatively, the object list may include data identifying each modified primitive located at least partially within that tile. Each tile is then shaded for display using its respective object list.

Claims (41)

1. A method, in a tile-based graphics processing system, for processing one or more primitives, comprising:

deriving one or more geometrically modified primitives from at least one of the one or more primitives;

for each of a plurality of tiles, deriving an object list identifying the primitive from which each geometrically modified primitive located at least partially within that tile is derived; and

processing a tile of the plurality of tiles using the object list derived for that tile, said processing including:

re-deriving at least one geometrically modified primitive from a primitive identified in the object list, and

storing at least one re-derived geometrically modified primitive in a memory.

2. The method of claim 1 , further comprising storing, in the memory, all of the geometrically modified primitives re-derived, from the primitive identified in the object list for the tile, during said processing of the tile.

3. The method of claim 1 , further comprising processing a further tile of the plurality of tiles, said processing comprising:

before re-deriving a geometrically modified primitive from a primitive identified in the object list derived for the further tile, determining whether that geometrically modified primitive is stored in the memory.

4. The method of claim 1 , wherein deriving the one or more geometrically modified primitives comprises applying a modifying function that incrementally derives a sequence of geometrically modified primitives.

5. The method of claim 4 , wherein:

re-deriving at least one geometrically modified primitive from the primitive identified in the object list for the tile comprises re-deriving a part of the sequence of geometrically modified primitives; and

storing at least one of the re-derived modified primitives in the memory comprises storing, in the memory, the last re-derived geometrically modified primitive of the part of the sequence of geometrically modified primitives.

6. The method of claim 5 , wherein storing at least one of the re-derived modified primitives in the memory further comprises storing, in the memory, the state of the modifying function.

7. The method of claim 5 , further comprising processing a further tile of the plurality of tiles, said processing comprising re-deriving a further part of the sequence of geometrically modified primitives starting from the last re-derived geometrically modified primitive.

8. The method of claim 5 , further comprising processing a further tile of the plurality of tiles, said processing comprising:

before re-deriving a geometrically modified primitive from a primitive identified in the object list derived for the further tile, determining whether any geometrically modified primitive re-derived from the same primitive is stored in the memory.

9. The method of claim 8 , further comprising, in response to determining that at least one geometrically modified primitive re-derived from the same primitive is stored in the memory:

fetching, from the memory, the geometrically modified primitive nearest in the sequence of geometrically modified primitives to the geometrically modified primitive to be re-derived; and

re-deriving a further part of the sequence of geometrically modified primitives starting from said nearest geometrically modified primitive and continuing until the geometrically modified primitive to be re-derived is re-derived.

10. The method of claim 1 , wherein processing a tile of the plurality of tiles comprises shading the tile of the plurality of tiles.

11. The method of claim 1 , wherein the memory is a local memory.

12. The method of claim 1 , wherein the memory is a cache.

13. The method of claim 1 , wherein the one or more primitives are derived from geometry data defining objects for display.

14. The method of claim 1 , wherein the object list derived for each tile further includes data identifying each of the said one or more primitives that are located at least partially within the tile.

15. The method of claim 14 , further comprising, for each of the plurality of tiles: storing data indicating which primitives identified in the object list for the tile have a geometrically modified primitive derived from that primitive within the tile.

16. The method of claim 1 , wherein the deriving step comprises deriving geometrically modified primitives from at least one of the plurality of primitives using a plurality of modifying functions, the method further comprising assigning to each modifying function an identifier identifying that modifying function.

17. The method of claim 16 , further comprising, for each of the plurality of tiles, storing each identifier that identifies a modifying function which generates a geometrically modified primitive located within that tile.

18. The method of claim 17 , wherein the re-deriving step comprises, for the tile of the plurality of tiles, reading a modifying function identifier for each primitive in the object list for the tile and re-applying the identified modifying function to the primitive to re-derive the geometrically modified primitives located at least partially within the tile.

19. A tile-based graphics processing system configured to process one or more primitives, comprising:

a modifying unit configured to derive one or more geometrically modified primitives from at least one of the one or more primitives;

a tiling unit configured to, for each of a plurality of tiles, derive an object list identifying the primitive from which each geometrically modified primitive located at least partially within that tile is derived; and

a shading unit configured to process a tile of the plurality of tiles using the object list derived for that tile, said processing including:

re-deriving at least one geometrically modified primitive from a primitive identified in the object list, and

storing at least one re-derived geometrically modified primitive in a memory.

20. A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a tile-based graphics processing apparatus comprising:

a modifying unit configured to derive one or more geometrically modified primitives from at least one of one or more primitives;

a tiling unit configured to, for each of a plurality of tiles, derive an object list identifying the primitive from which each geometrically modified primitive located at least partially within that tile is derived; and

a shading unit configured to process a tile of the plurality of tiles using the object list derived for that tile, said processing including:

re-deriving at least one geometrically modified primitive from a primitive identified in the object list, and

storing at least one re-derived geometrically modified primitive in a memory.

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Priority Claims (1)
GB 1216288 · Sep 12, 2012 · national
Continuity (6)
Continuation 17670065 · Feb 11, 2022
Continuation 17064432 · Oct 6, 2020
Continuation 16872705 · May 12, 2020
Continuation 16570867 · Sep 13, 2019
Continuation 15454792 · Mar 9, 2017
Continuation 13936000 · Jul 5, 2013
References Cited (27)
US 7167171B2 · Heim et al. · 2007 [cited by applicant]
US 8169437B1 · Legakis et al. · 2012 [cited by applicant]
US 9633405B2 · Fishwick et al. · 2017 [cited by applicant]
US 10163238B2 · Isomaki · 2018 [cited by applicant]
US 10453164B2 · Fishwick et al. · 2019 [cited by applicant]
US 11282162B2 · Fishwick et al. · 2022 [cited by applicant]
US 20040100465A1 · Stowe et al. · 2004 [cited by applicant]
US 20050285850A1 · Heim et al. · 2005 [cited by applicant]
US 20070146378A1 · Sorgard et al. · 2007 [cited by applicant]
US 20070165035A1 · Duluk, Jr. et al. · 2007 [cited by applicant]
US 20080150950A1 · Sorgard et al. · 2008 [cited by applicant]
US 20090174706A1 · Howson · 2009 [cited by applicant]
US 20100177105A1 · Nystad et al. · 2010 [cited by applicant]
US 20110080404A1 · Rhoades et al. · 2011 [cited by applicant]
US 20110090224A1 · Woo et al. · 2011 [cited by applicant]
US 20110148901A1 · Adams et al. · 2011 [cited by applicant]
US 20110175911A1 · Loop et al. · 2011 [cited by applicant]
US 20110221743A1 · Keall et al. · 2011 [cited by applicant]
US 20120206455A1 · Shreiner · 2012 [cited by applicant]
US 20130120380A1 · Kallio et al. · 2013 [cited by applicant]
US 20130162651A1 · Martin et al. · 2013 [cited by applicant]
US 20130194264A1 · Howson · 2013 [cited by applicant]
US 20130293544A1 · Schreyer et al. · 2013 [cited by applicant]
US 20150348317A1 · Hakura et al. · 2015 [cited by applicant]
US 20160035128A1 · Zhao et al. · 2016 [cited by applicant]
US 20160148337A1 · Isomaki · 2016 [cited by applicant]
US 20160267709A1 · Nystad · 2016 [cited by examiner]