Primitive processing in a graphics processing system

US10867433B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10867433-B2
Application numberUS-201916702383-A
CountryUS
Kind codeB2
Filing dateDec 3, 2019
Priority dateDec 13, 2013
Publication dateDec 15, 2020
Grant dateDec 15, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A graphics processing system has a rendering space which is divided into tiles. Primitives within the tiles are processed to perform hidden surface removal and to apply texturing to the primitives. The graphics processing system includes a plurality of depth buffers, thereby allowing a processing module to process primitives of one tile by accessing one of the depth buffers while primitive identifiers of another, partially processed tile are stored in another one of the depth buffers. This allows the graphics processing system to have “multiple tiles in flight”, which can increase the efficiency of the graphics processing system.

First claim

Opening claim text (preview).

What is claimed is: 1. A graphics processing unit configured to use a rendering space which is sub-divided into tiles, the graphics processing unit comprising: a tiling unit configured to determine tiling data by determining which tiles of the rendering space primitives are present in; and a processing module configured to perform fragment processing for tiles of the rendering space based on the determined tiling data, wherein the processing module is configured to have multiple tiles in flight at a given time during said fragment processing. 2. The graphics processing unit of claim 1 , wherein the graphics processing unit is configured to allow the fragment processing performed by the processing module to switch between different tiles when some but not all of the fragment processing for a particular tile has finished being performed by the processing module. 3. The graphics processing unit of claim 1 , wherein the processing module is configured to perform hidden surface removal. 4. The graphics processing unit of claim 1 , wherein the processing module is not configured to perform tiling. 5. The graphics processing unit of claim 1 , wherein the processing module is configured to: receive the determined tiling data; and use the received tiling data to determine which primitives are present in a given tile. 6. The graphics processing unit of claim 1 , further comprising one or more processing engines configured to perform one or both of texturing and shading. 7. The graphics processing unit of claim 1 , further comprising a plurality of processing engines configured to perform one or both of texturing and shading, wherein the graphics processing unit is configured to use, for performing one or both of texturing and shading in respect of different tiles of said multiple tiles in flight, respective different processing engines of said plurality of processing engines. 8. The graphics processing unit of claim 1 , further comprising a plurality of depth buffers, wherein each of the depth buffers is configured to be dynamically associated with a respective one of said multiple tiles which are in flight at a given time. 9. The graphics processing unit of claim 8 , wherein the processing module is configured to perform hidden surface removal for a primitive fragment for a particular one of said multiple tiles by comparing a depth value for that primitive fragment with a depth value stored in the depth buffer associated with the particular tile while another one of the depth buffers stores depth values for a different one of said multiple tiles. 10. The graphics processing unit of claim 8 , wherein a depth buffer associated with a tile is configured to store a depth value for each sample position within the tile. 11. The graphics processing unit of claim 1 , wherein the multiple tiles which are in flight at a given time are adjacent to each other in the rendering space. 12. The graphics processing unit of claim 1 , further comprising a plurality of tag buffers configured to be dynamically associated with the tiles such that a set of one or more of the tag buffers is associated with a particular tile, said set of one or more tag buffers being configured to store primitive identifiers identifying primitives for sample positions within the particular tile. 13. The graphics processing unit of claim 12 , wherein if the set of tag buffers associated with the particular tile includes more than one tag buffer, then primitive identifiers stored at corresponding sample positions in the tag buffers of the set represent overlapping layers of primitives. 14. The graphics processing unit of claim 1 , further comprising a control module configured to control switching of the processing module between performing fragment processing for different tiles. 15. The graphics processing unit of claim 14 , further comprising a plurality of queues storing primitive data for a respective plurality of tiles, wherein the control module is configured to select one of the queues, wherein primitive data from the selected queue is processed by the processing module. 16. A method of processing primitives in a graphics processing system that uses a rendering space which is sub-divided into tiles, the method comprising: determining tiling data by determining which tiles of the rendering space the primitives are present in; and performing fragment processing for tiles of the rendering space based on the determined tiling data, wherein there are multiple tiles in flight at a given time during said fragment processing. 17. The method of claim 16 , wherein said performing fragment processing for tiles of the rendering space comprises switching between different tiles when some but not all of the fragment processing for a particular tile has finished being performed. 18. The method of claim 16 , wherein said performing fragment processing comprises performing hidden surface removal but not performing tiling, and wherein the method further comprises: storing depth values in a plurality of depth buffers, each of the depth buffers being dynamically associated with one tile at a time; and performing one or both of texturing and shading. 19. The method of claim 16 , wherein the graphics processing system comprises a plurality of processing engines configured to perform one or both of texturing and shading, and wherein the method comprises performing one or both of texturing and shading in respect of different tiles of said multiple tiles in flight using respective different processing engines of said plurality of processing engines. 20. A non-transitory computer readable storage medium having stored thereon computer readable code that when processed configures an integrated circuit manufacturing system to generate a graphics processing unit which is configured to use a rendering space which is sub-divided into tiles, the graphics processing unit including: a tiling unit configured to determine tiling data by determining which tiles of the rendering space primitives are present in; and a processing module configured to perform fragment processing for tiles of the rendering space based on the determined tiling data, wherein the processing module is configured to have multiple tiles in flight at a given time during said fragment processing.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10867433B2 cover?
A graphics processing system has a rendering space which is divided into tiles. Primitives within the tiles are processed to perform hidden surface removal and to apply texturing to the primitives. The graphics processing system includes a plurality of depth buffers, thereby allowing a processing module to process primitives of one tile by accessing one of the depth buffers while primitive iden…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06T15/405. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 15 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).