-
21.
公开(公告)号:US11880933B2
公开(公告)日:2024-01-23
申请号:US17331537
申请日:2021-05-26
Applicant: Imagination Technologies Limited
Inventor: Robert Brigg , Lorenzo Belli
CPC classification number: G06T15/405 , G06F7/24 , G06F9/4881 , G06T1/60 , G06T7/50 , G06T15/20 , G06T15/40 , G06T17/10 , G06T2207/10028 , G06T2207/20021
Abstract: Systems and methods for processing primitive fragments in a rasterization phase of a graphics processing system wherein a rendering space is subdivided into a plurality of tiles. The method includes receiving a plurality of primitive fragments, each primitive fragment corresponding to a pixel sample in a tile; determining whether a depth buffer read is to be performed for hidden surface removal processing of one or more of the primitive fragments; sorting the primitive fragments into a priority queue and a non-priority queue based on the depth buffer read determinations; and performing hidden surface removal processing on the primitive fragments in the priority and non-priority queues wherein priority is given to the primitive fragments in the priority queue.
-
公开(公告)号:US20230409221A1
公开(公告)日:2023-12-21
申请号:US18241942
申请日:2023-09-04
Applicant: Imagination Technologies Limited
Inventor: Robert Brigg
CPC classification number: G06F3/064 , G06F3/0604 , G06F3/0659 , G06F3/0673 , H03M7/40
Abstract: A set of two or more variable length data blocks is stored in memory. Each variable length data block has a maximum size of N*B, wherein N is an integer greater than or equal to two, and B is a maximum data size that can be written to the memory using a single memory access request. For each variable length data block of the set, the first P non-overlapping portions of size B of the variable length data block are stored in a chunk of the memory allocated to that variable length data block, wherein P is a minimum of (i) a number of non-overlapping portions of size B of the variable length data block and (ii) X which is an integer less than N. Any remaining portions of the variable length data blocks are stored in a remainder section of the memory shared between the variable length data blocks of the set. Information indicating the size of each of the variable length data blocks in the set is stored in a header.
-
23.
公开(公告)号:US20230401780A1
公开(公告)日:2023-12-14
申请号:US18239402
申请日:2023-08-29
Applicant: Imagination Technologies Limited
Inventor: Xile Yang , Robert Brigg
IPC: G06T15/00 , G06T1/20 , G06T1/60 , G06T11/40 , G06T9/00 , G06T11/20 , G06T15/04 , G06T17/10 , G06T17/20
CPC classification number: G06T15/005 , G06T1/20 , G06T1/60 , G06T11/40 , G06T9/00 , G06T11/20 , G06T15/04 , G06T17/10 , G06T15/00 , G06T17/20 , G06T2210/12
Abstract: Methods and graphics processing systems render items of geometry using a rendering space which is subdivided into a plurality of first regions. Each of the first regions is sub-divided into a plurality of second regions. Each of a plurality of items of geometry is processed by identifying which of the first regions the item of geometry is present within, and for each identified first region determining an indication of the spatial coverage, within the identified first region, of the item of geometry, and using the determined indication of the spatial coverage within the identified first region to determine whether to add the item of geometry to a first control list for the identified first region or to add the item of geometry to one or more second control lists for a respective one or more of the second regions within the identified first region. Items of geometry within a second region can then be rendered using: (i) the first control list for the first region of which the second region is a part, and (ii) the second control list for the second region.
-
24.
公开(公告)号:US11741656B2
公开(公告)日:2023-08-29
申请号:US17945310
申请日:2022-09-15
Applicant: Imagination Technologies Limited
Inventor: Xile Yang , Robert Brigg
CPC classification number: G06T15/005 , G06T1/20 , G06T1/60 , G06T9/00 , G06T11/20 , G06T11/40 , G06T15/00 , G06T15/04 , G06T17/10 , G06T2210/12
Abstract: Methods and graphics processing systems render items of geometry using a rendering space which is subdivided into a plurality of first regions. Each of the first regions is sub-divided into a plurality of second regions. Each of a plurality of items of geometry is processed by identifying which of the first regions the item of geometry is present within, and for each identified first region determining an indication of the spatial coverage, within the identified first region, of the item of geometry, and using the determined indication of the spatial coverage within the identified first region to determine whether to add the item of geometry to a first control list for the identified first region or to add the item of geometry to one or more second control lists for a respective one or more of the second regions within the identified first region. Items of geometry within a second region can then be rendered using: (i) the first control list for the first region of which the second region is a part, and (ii) the second control list for the second region.
-
公开(公告)号:US11663771B2
公开(公告)日:2023-05-30
申请号:US17407719
申请日:2021-08-20
Applicant: Imagination Technologies Limited
Inventor: Robert Brigg , John W. Howson , Xile Yang
CPC classification number: G06T15/40 , G06T1/60 , G06T15/005
Abstract: A cache for use in a tile-based rendering graphics processing system for storing transformed primitive blocks, the graphics processing system having a rendering space sub-divided into a plurality of tiles to which primitives can be associated, the graphics processing system comprising rasterization logic that rasterizes primitives on a per tile basis in a plurality of stages, the cache comprising: memory configured to store a plurality of transformed primitive blocks in the cache, each transformed primitive block comprising transformed geometry data for one or more primitives; control logic configured to: maintain a counter for each of the plurality of transformed primitive blocks stored in the cache that indicates a number of tiles of the plurality of tiles that are currently being processed by the rasterization logic and require access to that transformed primitive block, the counter being updated when any stage of the rasterization logic indicates a tile no longer requires access to the transformed primitive block; in response to receiving a request to add a new transformed primitive block to the cache when the cache is full, select a transformed primitive block to evict from the cache based on the counters associated therewith; and evict the selected transformed primitive block from the cache.
-
26.
公开(公告)号:US11532115B2
公开(公告)日:2022-12-20
申请号:US17172313
申请日:2021-02-10
Applicant: Imagination Technologies Limited
Inventor: Xile Yang , Robert Brigg , Michael John Livesley
Abstract: Data structures, methods and tiling engines for storing tiling data in memory wherein the tiles are grouped into tile groups and the primitives are grouped into primitive blocks. The methods include, for each tile group: determining, for each tile in the tile group, which primitives of each primitive block intersect that tile; storing in memory a variable length control data block for each primitive block that comprises at least one primitive that intersects at least one tile of the tile group; and storing in memory a control stream comprising a fixed sized primitive block entry for each primitive block that comprises at least one primitive that intersects at least one tile of the tile group, each primitive block entry identifying a location in memory of the control data block for the corresponding primitive block. Each primitive block entry may comprise valid tile information identifying which tiles of the tile group are valid for the corresponding primitive block. A tile is a valid tile for a primitive block if at least one primitive in the primitive block intersects that tile.
-
公开(公告)号:US20220084281A1
公开(公告)日:2022-03-17
申请号:US17536671
申请日:2021-11-29
Applicant: Imagination Technologies Limited
Inventor: Xile Yang , Robert Brigg , John W. Howson
Abstract: Methods and primitive block generators for generating primitive blocks in a graphics processing system. The methods comprise: receiving transformed position data for a current primitive, the transformed position data indicating a position of the current primitive in rendering space; determining a distance between the position of the current primitive and a position of a current primitive block based on the transformed position data for the current primitive; determining whether to add the current primitive to the current primitive block based on the distance and a fullness of the current primitive block; in response to determining that the current primitive is to be added to the current primitive block, adding the current primitive to the current primitive block; and in response to determining that the current primitive is not to be added to the current primitive block, flushing the current primitive block and adding the current primitive to a new current primitive block.
-
公开(公告)号:US11158023B2
公开(公告)日:2021-10-26
申请号:US16724234
申请日:2019-12-21
Applicant: Imagination Technologies Limited
Inventor: Robert Brigg , Xile Yang , John W. Howson
Abstract: A graphics processing system having a rendering space divided into a plurality of tiles. The system comprises geometry processing logic and rasterization logic. The geometry processing logic is configured to generate transformed position data for each of a plurality of untransformed primitives based on untransformed geometry data associated therewith; group the plurality of untransformed primitives into a plurality of primitive blocks; and generate an untransformed display list for each tile based on the transformed position data. Each untransformed display list comprises: (i) information identifying each untransformed primitive block that comprises at least one untransformed primitive that, when transformed, falls at least partially with the tile; and (ii) for each identified untransformed primitive bock, information identifying the untransformed primitives or transformed primitives related to that untransformed primitive block relevant for rendering the tile. The rasterization logic is configured to fetch, for each primitive block identified in an untransformed display list for a tile, untransformed geometry data for all of the untransformed primitives in that untransformed primitive block; transform the fetched untransformed geometry data to generate transformed geometry data; and render the primitives from the transformed geometry data.
-
29.
公开(公告)号:US20210279954A1
公开(公告)日:2021-09-09
申请号:US17169828
申请日:2021-02-08
Applicant: Imagination Technologies Limited
Inventor: Xile Yang , Robert Brigg
Abstract: Methods and graphics processing systems render items of geometry using a rendering space which is subdivided into a plurality of first regions. Each of the first regions is sub-divided into a plurality of second regions. Each of a plurality of items of geometry is processed by identifying which of the first regions the item of geometry is present within, and for each identified first region determining an indication of the spatial coverage, within the identified first region, of the item of geometry, and using the determined indication of the spatial coverage within the identified first region to determine whether to add the item of geometry to a first control list for the identified first region or to add the item of geometry to one or more second control lists for a respective one or more of the second regions within the identified first region. Items of geometry within a second region can then be rendered using: (i) the first control list for the first region of which the second region is a part, and (ii) the second control list for the second region.
-
30.
公开(公告)号:US20210279936A1
公开(公告)日:2021-09-09
申请号:US17169607
申请日:2021-02-08
Applicant: Imagination Technologies Limited
Inventor: Xile Yang , Robert Brigg
Abstract: Methods and graphics processing systems render primitives using a rendering space which is subdivided into a plurality of regions. Geometry processing logic performs a geometry processing phase which determines, for each of a plurality of primitives which are present in a region, whether the primitive totally covers the region; and stores data for the primitives which are present in the region, wherein the stored data comprises, for each of the primitives which are determined to totally cover the region, data to indicate total coverage of the region. Rendering logic performs a rendering phase for rendering primitives within the region. The rendering phase retrieves the stored data for the primitives which are present in the region; selectively processes the primitives which are present in the region based on the retrieved data to determine which sample points within the region are covered by the primitives, wherein if the retrieved data includes data which indicates total coverage of the region for a particular primitive then the processing determines which sample points within the region are covered by the particular primitive is skipped; and determines rendered values at the sample points within the region based on the primitives which cover the respective sample points.
-
-
-
-
-
-
-
-
-