US2023334769A1PendingUtilityA1

Using tiling depth information in hidden surface removal in a graphics processing system

78
Assignee: IMAGINATION TECH LTDPriority: Oct 6, 2014Filed: Jun 19, 2023Published: Oct 19, 2023
Est. expiryOct 6, 2034(~8.2 yrs left)· nominal 20-yr term from priority
G06T 15/405G06T 15/005G06T 15/40
78
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A graphics processing system includes a tiling unit for performing tiling calculations and a hidden surface removal (HSR) unit for performing HSR on fragments of the primitives. Primitive depth information is calculated in the tiling unit and forwarded for use by the HSR unit in performing HSR on the fragments. This takes advantage of the tiling unit having access to the primitive data before the HSR unit performs the HSR on the primitives, to determine some depth information which can simplify the HSR performed by the HSR unit. Therefore, the final values of a depth buffer determined in the tiling unit can be used in the HSR unit to determine that a particular fragment will subsequently be hidden by a fragment of a primitive which is yet to be processed in the HSR unit, such that the particular fragment can be culled.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A tiling unit for a graphics processing system, the tiling unit configured to:
 process primitives to determine which of the primitives are present in which tiles of a rendering space;   determine depth information for the tiles as the primitives are processed in the tiling unit; and   make the determined depth information available for use by the graphics processing system.   
     
     
         2 . The tiling unit of  claim 1 , wherein the tiling unit is configured to determine indication data which indicates, for each of the tiles, which of the primitives are present in that tile. 
     
     
         3 . The tiling unit of  claim 1 , wherein the tiling unit is configured to determine the depth information for the tiles by performing depth tests on fragments of the primitives as the primitives are processed. 
     
     
         4 . The tiling unit of  claim 3 , wherein the tiling unit is configured, in response to determining that a fragment of a primitive passes a depth test for a tile, to update a depth value in the depth information at a sample position in that tile corresponding to a position of the fragment. 
     
     
         5 . The tiling unit of  claim 4 , wherein the tiling unit is configured, for each of the tiles, to update a depth value, in the depth information for that tile, only if the primitive includes at least one fragment which passes the depth test and is present in that tile. 
     
     
         6 . The tiling unit of  claim 2 , wherein the tiling unit is configured to determine the depth information for the tiles by performing depth tests on fragments of the primitives as the primitives are processed, and wherein the tiling unit is configured to include an indicator of a primitive in the indication data for a tile only if the primitive includes at least one fragment which passes at least one of the depth tests and which is present in that tile. 
     
     
         7 . The tiling unit of  claim 3 , wherein the tiling unit is configured, for each processed primitive, to store the processed primitive in a memory only if the processed primitive includes at least one fragment which passes a depth test in at least one tile, wherein the memory is configured to be available for retrieval by a hidden surface removal unit. 
     
     
         8 . The tiling unit of  claim 1 , wherein the tiling unit is configured to determine the depth information for a tile based on a tiling unit depth buffer which indicates depth values at sample positions of that tile, and which is maintained by the tiling unit. 
     
     
         9 . The tiling unit of  claim 8 , wherein in order to determine the depth information for a tile, the tiling unit is configured to, for a fragment of a primitive that is present in that tile;
 determine whether the fragment passes a depth test by comparing a depth value of the fragment to a depth value in the tiling unit depth buffer at a corresponding sample position of that tile in accordance with a depth compare mode; and   if the fragment passes the depth test and if it is appropriate for the primitive and the depth compare mode, update the depth value in the tiling unit depth buffer at the corresponding sample position of that tile.   
     
     
         10 . The tiling unit of  claim 9 , wherein the tiling unit is configured to make available the determined depth information for that tile either:
 when the tiling unit has finished processing fragments of the primitives that are present in that tile; or   in response to a determined change in a depth compare mode, before the tiling unit has finished processing fragments of the primitives that are present in the tile.   
     
     
         11 . The tiling unit of  claim 2 , wherein the tiling unit is configured to determine the indication data by generating tile control streams for the tiles, wherein the tile control stream for a tile includes indicators of the primitives which are present in that tile. 
     
     
         12 . The tiling unit of  claim 11 , wherein the tiling unit is configured to include an indicator of a primitive in the tile control stream for a tile only if the primitive includes at least one fragment which passes the depth test and which is present in that tile. 
     
     
         13 . The tiling unit of  claim 1 , wherein the tiling unit is configured to:
 detect a discontinuity in depth testing to be performed on fragments of the primitives fora tile of the tiles;   in response to detecting the discontinuity, store: (i) the currently determined depth information as a particular depth record for that tile, and (ii) an identifier of a primitive at which the discontinuity is detected; and   create a new depth record for that tile for depth information of primitives subsequent to the detection of the discontinuity.   
     
     
         14 . The tiling unit of  claim 13 , wherein the detected discontinuity in depth testing is caused by a change in a depth compare mode to be used in the depth testing. 
     
     
         15 . The tiling unit of  claim 2 , wherein the tiling unit is configured such that if a primitive which is present in a tile has an object type indicating that a depth of fragments of the primitive cannot be resolved in the tiling unit then an indication for that primitive is included in the indication data for that tile and the depth information is determined for that tile without taking the primitive into account. 
     
     
         16 . The tiling unit of  claim 1 , wherein the tiling unit is configured to make the determined depth information available for use by a hidden surface removal unit configured to use the determined depth information in performing hidden surface removal. 
     
     
         17 . The tiling unit of  claim 16 , wherein the hidden surface removal unit is configured to:
 use the determined depth information for a tile to initialise a depth buffer; and   perform depth tests on fragments of the primitives which are present in that tile using the depth buffer.   
     
     
         18 . The tiling unit of  claim 16 , wherein the hidden surface removal unit is configured to use the determined depth information for a tile in setting values of a hidden surface removal (HSR) depth buffer for use in performing said hidden surface removal for that tile. 
     
     
         19 . A method of processing primitives for a graphics processing system using a tiling unit, the method comprising:
 processing primitives to determine which of the primitives are present in which tiles of a rendering space;   determining depth information for the tiles as the primitives are processed in the tiling unit; and   making the determined depth information available for use by the graphics processing system.   
     
     
         20 . A non-transitory computer readable storage medium having stored thereon computer readable instructions that, when processed at a computer system for generating a manifestation of an integrated circuit, cause the computer system to generate a manifestation of a tiling unit for a graphics processing system, the tiling unit configured to:
 process primitives to determine which of the primitives are present in which tiles of a rendering space;   determine depth information for the tiles as the primitives are processed in the tiling unit; and   make the determined depth information available for use by the graphics processing system.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.