Processing fragments which have a shader-dependent property in a graphics processing system

US12406433B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12406433-B2
Application numberUS-202318212748-A
CountryUS
Kind codeB2
Filing dateJun 22, 2023
Priority dateJun 22, 2022
Publication dateSep 2, 2025
Grant dateSep 2, 2025

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.

Methods and graphics processing units for processing a plurality of fragments in a graphics processing system. A received first fragment is processed by performing an early depth test with hidden surface removal logic using a depth buffer; in response to the first fragment passing the early depth test, executing one or more instructions of a shader program for the first fragment on the processing logic to determine the property of the first fragment; and after the determination of the property of the first fragment, performing a late depth test on the first fragment with the hidden surface removal logic using the depth buffer. After said receiving a first fragment, a second fragment to be processed is received, wherein the second fragment does not have a shader-dependent property. The second fragment is processed by, before said late depth test is performed on the first fragment, performing an early depth test on the second fragment with the hidden surface removal logic.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of processing a plurality of fragments in a graphics processing system which comprises: (i) hidden surface removal logic, and (ii) processing logic configured to execute shader programs for fragments, the method comprising: receiving a first fragment to be processed, wherein the first fragment has a shader-dependent property; processing the first fragment, wherein said processing the first fragment comprises: performing an early depth test on the first fragment with the hidden surface removal logic using a depth buffer, in response to the first fragment passing the early depth test, executing one or more instructions of a shader program for the first fragment on the processing logic to determine the property of the first fragment, and after the determination of the property of the first fragment, performing a late depth test on the first fragment with the hidden surface removal logic using the depth buffer; after said receiving a first fragment, receiving a second fragment to be processed, wherein the second fragment does not have a shader-dependent property; and processing the second fragment, wherein said processing the second fragment comprises, before said late depth test is performed on the first fragment, performing an early depth test on the second fragment with the hidden surface removal logic; wherein the shader-dependent property of a fragment affects the processing performed on that fragment by the hidden surface removal logic. 2. The method of claim 1 , wherein said processing the first fragment further comprises updating a depth value in the depth buffer in response to the first fragment passing the late depth test. 3. The method of claim 1 , wherein said processing the second fragment does not comprise updating a depth value in the depth buffer in response to the second fragment passing the early depth test. 4. The method of claim 1 , wherein said processing the second fragment further comprises, after said late depth test is performed on the first fragment, performing a late depth test on the second fragment with the hidden surface removal logic using the depth buffer. 5. The method of claim 4 , wherein said processing the second fragment further comprises updating a depth value in the depth buffer in response to the second fragment passing the late depth test. 6. The method of claim 4 , wherein said processing the second fragment further comprises, in response to the second fragment passing the early depth test, initiating processing of the second fragment on the processing logic which causes the late depth test to be performed on the second fragment. 7. The method of claim 6 , wherein said processing the second fragment further comprises: in response to causing the late depth test to be performed on the second fragment, pausing the execution of a shader program for the second fragment while the late depth test is performed on the second fragment with the hidden surface removal logic; and in response to the second fragment passing the late depth test, executing a one or more instructions of the shader program for the second fragment on the processing logic. 8. The method of claim 1 , wherein said processing the first fragment further comprises, in response to the first fragment passing the late depth test, executing a further one or more instructions of the shader program for the first fragment on the processing logic. 9. The method of claim 1 , wherein the plurality of fragments are ordered according to a submission order, and wherein the plurality of fragments are processed in accordance with the submission order. 10. The method of claim 1 , wherein said early depth test on the second fragment is performed in response to determining that the first and second fragments have compatible depth compare modes. 11. The method of claim 1 , further comprising: fetching primitive data defining primitives in a scene to be rendered; performing rasterization on the primitives to generate fragments, wherein said first fragment is generated by performing rasterization on a first primitive which has a shader-dependent property, and wherein said second fragment is generated by performing rasterization on a second primitive which does not have a shader-dependent property; and before performing said processing of the second fragment, determining that there is at least one preceding fragment for which a late depth test is still to be performed. 12. The method of claim 11 , wherein: said determining that there is at least one preceding fragment for which a late depth test is still to be performed is performed in response to fetching primitive data for the second primitive, and said rasterization on the second primitive is performed in response to determining that there is at least one preceding fragment for which a late depth test is still to be performed. 13. The method of claim 1 , further comprising: after said receiving a second fragment, receiving a third fragment to be processed, wherein the third fragment does not have a shader-dependent property; determining that there are no preceding fragments for which a late depth test is still to be performed; and after determining that there are no preceding fragments for which a late depth test is still to be performed, processing the third fragment, wherein said processing the third fragment comprises performing a single depth test on the third fragment with the hidden surface removal logic using the depth buffer. 14. The method of claim 1 , further comprising: storing, for each of a plurality of depth values in the depth buffer, an in-flight indication to indicate whether there are any preceding fragments for which a late depth test is still to be performed; wherein said performing an early depth test on the second fragment with the hidden surface removal logic is performed using the depth buffer in response to determining that the in-flight indication for the depth value in the depth buffer at a position corresponding to the second fragment indicates that there is at least one preceding fragment for which a late depth test is still to be performed. 15. The method of claim 1 , further comprising: for each of the depth values in the depth buffer for which there is at least one preceding fragment for which a late depth test is still to be performed which could cause an update to that depth value in the depth buffer, storing a depth compare mode indication to indicate a depth compare mode for said at least one fragment for which a late depth test is still to be performed which could cause an update to that depth value in the depth buffer; wherein said performing an early depth test on the second fragment with the hidden surface removal logic using the depth buffer is performed in response to determining that a depth compare mode of the second fragment is compatible with the depth compare mode indicated by the depth compare mode indication for the depth value in the depth buffer at a position corresponding to the second fragment. 16. The method of claim 1 , further comprising: determining a utilization indication which indicates a level of utilization of the processing logic; wherein said performing an early depth test on the second fragment with the hidden surface removal logic is performed in response to determining that the indicated level of utilization of the processing logic is below a threshold level of utilization. 17. The method of claim 16 , wherein the utilization indication is based on one or more of: a state of a task queue which holds pending tasks to be proce

Assignees

Inventors

Classifications

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Hidden part removal · CPC title

  • Semi-transparency · CPC title

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

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 US12406433B2 cover?
Methods and graphics processing units for processing a plurality of fragments in a graphics processing system. A received first fragment is processed by performing an early depth test with hidden surface removal logic using a depth buffer; in response to the first fragment passing the early depth test, executing one or more instructions of a shader program for the first fragment on the processi…
Who is the assignee on this patent?
Imagination Tech Ltd
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 02 2025 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).