IP Library › Granted Patent US 12,670,638
Granted Patent B2
US 12,670,638 · App. 18/509,687 · Granted Jun 30, 2026

Graphics processors and graphics processing method for visibility testing groups of fragments at a patch level

Inventors: Ole Magnus Ruud (Oslo, NO); Sandeep Kakarlapudi (Trondheim, NO); Tord Kvestad Øygard (Kirkenes, NO); Per Kristian Kjøll (Trondheim, NO); Toni Viki Brkic (Lund, SE)
Assignee: ARM Limited
G06T11/40G06T1/20
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,670,638
App. No.
18/509,687
Filed
Nov 15, 2023
Granted
Jun 30, 2026
Kind
B2
Art Unit
2617
USPC
345/501
Abstract

When performing tile-based rendering a first, pre-pass operation in which primitives in a sequence of primitives for a tile are processed to determine visibility information for the sequence, the visibility information being usable to determine whether fragments for a primitive in the sequence should subsequently be processed further, is performed. Thereafter a second, main pass operation is performed in which the further processing of fragments for primitives that were processed during the first, pre-pass operation is controlled based on the determined visibility information for the sequence of primitives, such that for fragments for which the visibility information indicates that the fragments should not be processed further for the render output some or all of the processing during the second, main pass is omitted. The visibility information indicates which primitives should be rendered for which sampling positions of the render output in a hierarchical manner.

Claims (57)

1 . A method of operating a graphics processor to generate a render output in which, for the purposes of generating a render output, the render output is divided into a plurality of patches, the method comprising:

for a sequence of primitives to be rendered for a render output:

performing a first, pre-pass operation in which primitives in the sequence of primitives to be rendered are processed by rasterising the primitives into respective sets of one or more fragments, each fragment associated with a respective set of one or more sampling positions within the render output, and wherein as part of the first, pre-pass operation fragments for primitives in the sequence of primitives are processed to determine visibility information for the sequence of primitives,

wherein each primitive in the sequence of primitives has a unique primitive identifier, the primitive identifiers changing monotonically within the sequence of primitives from a particular starting value, and wherein the determined visibility information comprises a set of primitive identifying information that is capable of storing respective primitive identifiers for respective sampling positions within the render output, the primitive identifier stored for a respective sampling position indicating which primitive should be further processed for the sampling position, and wherein the set of primitive identifying information is further capable of storing respective primitive identifiers for respective patches of the render output, each patch encompassing a group of plural sampling positions within the render output, wherein the primitive identifier stored for a respective patch of the render output indicates the first primitive in the sequence of primitives that may subsequently need to be processed further for a sampling position encompassed by the patch,

the primitive identifiers stored in the set of primitive identifying information thus being usable during a subsequent visibility testing operation to determine which primitives should be processed further for which sampling positions within the render output,

wherein when it is determined during the first, pre-pass operation that a primitive that fully covers a given patch of the render output would be visible based on the visibility information generated so far, the method comprises updating the set of primitive identifying information accordingly to record the primitive identifier for the primitive in question as the primitive identifier that is stored for the patch, and indicating at this point that a particular value that is different from the primitive identifier should be stored for each of the respective sampling positions encompassed by the patch;

the method further comprising:

thereafter performing a second, main pass operation in which visibility testing is performed to determine which primitives in the sequence of primitives should be further processed for which sampling positions within the render output, wherein the visibility testing for fragments that could potentially have updated the set of primitive identifying information during the first, pre-pass operation comprises testing a primitive identifier associated with the fragment being tested against a corresponding primitive identifier stored in the set of primitive identifying information for the sampling position or positions to which the fragment relates, and wherein when the fragment's primitive identifier matches the primitive identifier stored in the set of primitive identifying information, the fragment is determined to pass the visibility testing such that the fragment is processed further, the visibility testing being further configured such that fragments whose associated primitive identifier matches the stored primitive identifier for a given patch of the render output are also caused to pass the visibility testing for any sampling positions encompassed by the patch for which the particular value that is different from the primitive identifier is stored.

2 . The method of claim 1 , wherein during the second, main pass operation, the method comprises identifying whether a fragment being tested against a respective sampling position is associated with the primitive whose primitive identifier matches the stored minimum primitive identifier for a patch encompassing the sampling position in question.

3 . The method of claim 2 , wherein for the purposes of visibility testing at least some primitives that were processed by the first, pre-pass operation are processed into respective groups of fragments, each group of fragments corresponding to a respective patch of the render output, and wherein the visibility testing is performed, if necessary, for progressively smaller groups of fragments and correspondingly smaller patches of the render output, down to the level of testing individual fragments against the sampling position or positions to which the fragments relate,

wherein the testing for a group of fragments comprises testing a primitive identifier associated with the group of fragments against the minimum primitive identifier stored for the patch of the render output corresponding to the group of fragments, and wherein when the primitive identifier associated with the group of fragments matches the corresponding minimum primitive identifier stored for the patch of the render output that the group of fragments is being tested against, a flag associated with the group of fragments is set accordingly to indicate this,

such that when the flag is set, fragments are caused to automatically pass visibility testing for any sampling positions encompassed by the patch for which the set value is stored.

4 . The method of claim 1 , wherein the particular value that is different from the primitive identifier is zero.

5 . The method of claim 4 , wherein a stored value of zero otherwise indicates that there is no primitive coverage for the sampling position in question.

6 . The method of claim 1 , wherein the step of indicating that the set value should be stored for the sampling positions encompassed by a patch comprises setting one or more clear flags representing the sampling positions encompassed by the patch, which clear flags when set cause the graphics processor to write zeros for all sampling positions represented by the clear flag.

7 . The method of claim 1 , wherein when a later primitive partially overwrites a patch of the render output at one or more sampling positions, the method comprises updating the set of primitive identifying information to store the primitive identifier for the one or more sampling positions that are overwritten by the later primitive, without updating the minimum primitive identifier stored for the patch.

8 . The method of claim 1 , wherein when a later primitive that is determined to be visible fully overwrites a patch of the render output, the stored minimum primitive identifier for the patch is updated accordingly, and it is indicated that the particular value that is different from the primitive identifier should be stored for each of the respective sampling positions encompassed by the patch.

9 . A graphics processor operable to generate a render output in which, for the purposes of generating a render output, the render output is divided into a plurality of patches, the graphics processor comprising a rendering circuit that is configured to:

for a sequence of primitives to be rendered for a render output:

perform a first, pre-pass operation in which primitives in the sequence of primitives to be rendered are processed by rasterising the primitives into respective sets of one or more fragments, each fragment associated with a respective set of one or more sampling positions within the render output, and wherein as part of the first, pre-pass operation fragments for primitives in the sequence of primitives are processed to determine visibility information for the sequence of primitives,

wherein each primitive in the sequence of primitives has a unique primitive identifier, the primitive identifiers within the sequence of primitives changing monotonically from a particular starting value, and wherein the determined visibility information comprises a set of primitive identifying information that is capable of storing respective primitive identifiers for respective sampling positions within the render output, the primitive identifier stored for a respective sampling position indicating which primitive should be further processed for the sampling position, and wherein the set of primitive identifying information is further capable of storing respective minimum primitive identifiers for respective patches of the render output, each patch encompassing a group of plural sampling positions within the render output, wherein the minimum primitive identifier stored for a respective patch of the render output indicates the first primitive in the sequence of primitives that may subsequently need to be processed further for a sampling position encompassed by the patch,

the primitive identifiers stored in the set of primitive identifying information thus being usable during a subsequent visibility testing operation to determine which primitives should be processed further for which sampling positions within the render output,

wherein when it is determined during the first, pre-pass operation that a primitive that fully covers a given patch of the render output would be visible based on the visibility information generated so far, the set of primitive identifying information is updated accordingly to record the primitive identifier for the primitive in question as the minimum primitive identifier for the patch, and it is indicated at this point that a particular value that is different from the primitive identifier should be stored for each of the respective sampling positions encompassed by the patch;

the graphics processor further configured to cause the rendering circuit to:

thereafter perform a second, main pass operation in which visibility testing is performed to determine which primitives in the sequence of primitives should be further processed for which sampling positions within the render output, wherein the visibility testing for fragments that could potentially have updated the set of primitive identifying information during the first, pre-pass operation comprises testing a primitive identifier associated with the fragment being tested against a corresponding primitive identifier stored in the set of primitive identifying information for the sampling position or positions to which the fragment relates, and wherein when the fragment's primitive identifier matches the primitive identifier stored in the set of primitive identifying information, the fragment is determined to pass the visibility testing such that the fragment is processed further, the visibility testing being further configured such that fragments whose associated primitive identifier matches the stored minimum primitive identifier for a given patch of the render output are also caused to pass the visibility testing for any sampling positions encompassed by the patch for which the particular value that is different from the primitive identifier is stored.

10 . The graphics processor of claim 9 , wherein during the second, main pass operation, the visibility testing comprises identifying whether a fragment being tested against a respective sampling position is associated with the primitive whose primitive identifier matches the stored minimum primitive identifier for a patch encompassing the sampling position in question.

11 . The graphics processor of claim 10 , wherein for the purposes of visibility testing at least some primitives that were processed by the first, pre-pass operation are processed into respective groups of fragments, each group of fragments corresponding to a respective patch of the render output, and wherein the visibility testing is performed, if necessary, for progressively smaller groups of fragments and correspondingly smaller patches of the render output, down to the level of testing individual fragments against the sampling position or positions to which the fragments relate,

wherein the testing for a group of fragments comprises testing a primitive identifier associated with the group of fragments against the minimum primitive identifier stored for the patch of the render output corresponding to the group of fragments, and wherein when the primitive identifier associated with the group of fragments matches the corresponding minimum primitive identifier stored for the patch of the render output that the group of fragments is being tested against, a flag associated with the group of fragments is set accordingly to indicate this,

such that when the flag is set, fragments are caused to automatically pass visibility testing for any sampling positions encompassed by the patch for which the set value is stored.

12 . The graphics processor of claim 9 , wherein the particular value that is different from the primitive identifier is zero.

13 . The graphics processor of claim 12 , wherein a stored value of zero otherwise indicates that there is no primitive coverage for the sampling position in question.

14 . The graphics processor of claim 9 , wherein the step of indicating that the set value should be stored for the sampling positions encompassed by a patch comprises setting one or more clear flags representing the sampling positions encompassed by the patch, which clear flags when set cause the graphics processor to write zeros for all sampling positions represented by the clear flag.

15 . The graphics processor of claim 9 , wherein when a later primitive partially overwrites a patch of the render output at one or more sampling positions, the set of primitive identifying information is updated to store the primitive identifier for the one or more sampling positions that are overwritten by the later primitive, without updating the minimum primitive identifier stored for the patch.

16 . The graphics processor of claim 9 , wherein when a later primitive that is determined to be visible fully overwrites a patch of the render output, the stored minimum primitive identifier for the patch is updated accordingly, and it is indicated that the particular value that is different from the primitive identifier should be stored for each of the respective sampling positions encompassed by the patch.

17 . A method of operating a graphics processor to generate a render output in which, for the purposes of generating a render output, the render output is divided into a plurality of patches, the method comprising:

for a sequence of primitives to be rendered for a render output:

performing a first, pre-pass operation in which primitives in the sequence of primitives to be rendered are processed by rasterising the primitives into respective sets of one or more fragments, each fragment associated with a respective set of one or more sampling positions within the render output,

wherein as part of the first, pre-pass operation fragments for primitives in the sequence of primitives are processed to determine visibility information for the sequence of primitives, the determined visibility information comprising a set of primitive identifying information that is capable of storing respective primitive identifiers for respective sampling positions within the render output, the primitive identifier stored for a respective sampling position indicating which primitive should be further processed for the sampling position, the set of primitive identifying information thus being usable during a subsequent visibility testing operation to determine which primitives should be processed further for which sampling positions within the render output,

wherein respective patches of the render output are further associated with respective indicators that can be used to indicate that the same primitive is visible for all sampling positions encompassed by the patch,

wherein when it is determined during the first, pre-pass operation that a primitive that fully covers a given patch of the render output would be visible based on the visibility information that has been determined so far, the method comprises updating the respective indicator for that patch of the render output to indicate that the same primitive is visible for all sampling positions encompassed by the patch, and storing in association with the patch a respective primitive identifier for the primitive in question,

the method further comprising:

thereafter performing a second, main pass operation in which visibility testing is performed to determine which primitives in the sequence of primitives should be further processed for which sampling positions within the render output, wherein the visibility testing comprises testing a primitive identifier associated with the fragment being tested against a corresponding primitive identifier stored for the sampling position or positions to which the fragment relates to determine whether or not the primitive being tested should be processed further, and

wherein when the respective indicator for a given patch indicates that the same primitive is visible for all sampling positions encompassed by the patch, the visibility testing uses the primitive identifier that is stored in association with the patch for all sampling positions encompassed by the patch.

18 . The method of claim 17 , wherein respective patches of the render output are associated with respective flags that can be used to indicate that the same primitive is visible for all sampling positions encompassed by the patch, the respective indicator that is updated for a given patch thus comprising a respective flag associated with that patch.

19 . The method of claim 17 , wherein during the first, pre-pass operation, when it is determined that a patch for which the respective indicator currently indicates that the same primitive is visible for all sampling positions encompassed by the patch is partially overwritten by a later primitive in the sequence of primitives, such that the later primitive is only visible for a subset of the sampling positions encompassed by the patch, the method comprises:

writing the primitive identifier for the later primitive to the set of primitive identifying information for the subset of the sampling positions encompassed by the patch for which the later primitive is visible;

writing the primitive identifier that is currently stored in association with the patch to any other sampling positions for which the later primitive is not visible; and

updating the respective indicator to indicate that it is no longer the case that the same primitive is visible for all sampling positions encompassed by the patch.

20 . A graphics processor operable to generate a render output in which, for the purposes of generating a render output, the render output is divided into a plurality of patches, the graphics processor comprising a rendering circuit that is configured to:

for a sequence of primitives to be rendered for a render output:

perform a first, pre-pass operation in which primitives in the sequence of primitives to be rendered are processed by rasterising the primitives into respective sets of one or more fragments, each fragment associated with a respective set of one or more sampling positions within the render output,

wherein as part of the first, pre-pass operation fragments for primitives in the sequence of primitives are processed to determine visibility information for the sequence of primitives, the determined visibility information comprising a set of primitive identifying information that is capable of storing respective primitive identifiers for respective sampling positions within the render output, the primitive identifier stored for a respective sampling position indicating which primitive should be further processed for the sampling position, the set of primitive identifying information thus being usable during a subsequent visibility testing operation to determine which primitives should be processed further for which sampling positions within the render output,

wherein respective patches of the render output are further associated with respective indicators that can be used to indicate that the same primitive is visible for all sampling positions encompassed by the patch,

wherein when it is determined during the first, pre-pass operation that a primitive that fully covers a given patch of the render output would be visible based on the visibility information that has been determined so far, the respective indicator for that patch of the render output is updated accordingly to indicate that the same primitive is visible for all sampling positions encompassed by the patch, and a respective primitive identifier for the primitive in question is stored in association with the patch,

the graphics processor further configured to cause the rendering circuit to:

thereafter perform a second, main pass operation in which visibility testing is performed to determine which primitives in the sequence of primitives should be further processed for which sampling positions within the render output, wherein the visibility testing comprises testing a primitive identifier associated with the fragment being tested against a corresponding primitive identifier stored for the sampling position or positions to which the fragment relates to determine whether or not the primitive being tested should be processed further, and

wherein when the respective indicator for a given patch indicates that the same primitive is visible for all sampling positions encompassed by the patch, the visibility testing uses the primitive identifier that is stored in association with the patch for all sampling positions encompassed by the patch.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2023
From: RUUD, OLE MAGNUS; KAKARLAPUDI, SANDEEP; ØYGARD, TORD KVESTAD; KJØLL, PER KRISTIAN; BRKIC, TONI VIKI
To: ARM LIMITED
Reel/Frame 065691/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2023
From: RUUD, OLE MAGNUS; KAKARLAPUDI, SANDEEP; OYGARD, TORD KVESTAD; KJOLL, PER KRISTIAN
To: ARM LIMITED
Reel/Frame 065587/0803 →
Priority Claims (10)
GB 2217219 · Nov 17, 2022 · national
GB 2217223 · Nov 17, 2022 · national
GB 2217236 · Nov 17, 2022 · national
GB 2217238 · Nov 17, 2022 · national
GB 2217239 · Nov 17, 2022 · national
GB 2217243 · Nov 17, 2022 · national
GB 2217245 · Nov 17, 2022 · national
GB 2217246 · Nov 17, 2022 · national
GB 2217247 · Nov 17, 2022 · national
GB 2217253 · Nov 17, 2022 · national
Continuity (3)
Continuation In Part 17989671 · Nov 17, 2022
Continuation In Part 17989548 · Nov 17, 2022
Related Publication 20240169619A1 · May 23, 2024
References Cited (128)
US 6092097A · Suzuoka · 2000 [cited by applicant]
US 6246415B1 · Grossman et al. · 2001 [cited by applicant]
US 6480205B1 · Greene et al. · 2002 [cited by applicant]
US 6535209B1 · Abdalla et al. · 2003 [cited by applicant]
US 7023437B1 · Voorhies et al. · 2006 [cited by applicant]
US 7375727B1 · Greene et al. · 2008 [cited by applicant]
US 8325184B2 · Jiao et al. · 2012 [cited by applicant]
US 8698820B2 · Cox et al. · 2014 [cited by applicant]
US 9626795B2 · Sathe · 2017 [cited by applicant]
US 9767595B2 · Nystad et al. · 2017 [cited by applicant]
US 10074210B1 · Spencer et al. · 2018 [cited by applicant]
US 10096147B2 · Goel et al. · 2018 [cited by applicant]
US 11030783B1 · Engh-Halstvedt et al. · 2021 [cited by applicant]
US 12154224B2 · Achrenius et al. · 2024 [cited by applicant]
US 20020196252A1 · Liao · 2002 [cited by examiner]
US 20050057564A1 · Liao · 2005 [cited by examiner]
US 20070257905A1 · French et al. · 2007 [cited by applicant]
US 20100007662A1 · Cox · 2010 [cited by examiner]
US 20110298813A1 · Barringer · 2011 [cited by examiner]
US 20140071150A1 · Fishwick et al. · 2014 [cited by applicant]
US 20140168220A1 · Nystad · 2014 [cited by applicant]
US 20140218390A1 · Rouet · 2014 [cited by applicant]
US 20140267256A1 · Heggelund et al. · 2014 [cited by applicant]
US 20140267259A1 · Frascati · 2014 [cited by applicant]
US 20140333620A1 · Park · 2014 [cited by examiner]
US 20140354661A1 · Balci et al. · 2014 [cited by applicant]
US 20140354670A1 · Heggelund · 2014 [cited by examiner]
US 20150002508A1 · Tatarinov · 2015 [cited by applicant]
US 20150058859A1 · Janssen · 2015 [cited by applicant]
US 20150062154A1 · Ellis et al. · 2015 [cited by applicant]
US 20150170407A1 · Redshaw · 2015 [cited by examiner]
US 20160005140A1 · Engh-Halstvedt et al. · 2016 [cited by applicant]
US 20160035128A1 · Zhao · 2016 [cited by applicant]
US 20160035129A1 · Bolz · 2016 [cited by examiner]
US 20160086299A1 · Sharma · 2016 [cited by applicant]
US 20160098856A1 · Broadhurst · 2016 [cited by examiner]
US 20160125649A1 · Jeong · 2016 [cited by examiner]
US 20160217608A1 · Howson · 2016 [cited by applicant]
US 20160260249A1 · Persson · 2016 [cited by examiner]
US 20160322031A1 · Liao et al. · 2016 [cited by applicant]
US 20170024927A1 · Isomäki · 2017 [cited by examiner]
US 20170148203A1 · Hakura · 2017 [cited by examiner]
US 20170161940A1 · Liktor et al. · 2017 [cited by applicant]
US 20170178386A1 · Redshaw et al. · 2017 [cited by applicant]
US 20170263039A1 · Goel · 2017 [cited by applicant]
US 20170287101A1 · Flordal · 2017 [cited by examiner]
US 20180025463A1 · Kazakov et al. · 2018 [cited by applicant]
US 20180082467A1 · Andersson et al. · 2018 [cited by applicant]
US 20180082469A1 · Andersson · 2018 [cited by applicant]
US 20180189925A1 · Lee · 2018 [cited by examiner]
US 20180197323A1 · Howson et al. · 2018 [cited by applicant]
US 20180268604A1 · Story · 2018 [cited by applicant]
US 20180349315A1 · Heggelund et al. · 2018 [cited by applicant]
US 20190012829A1 · Engh-Halstvedt et al. · 2019 [cited by applicant]
US 20190088009A1 · Forey et al. · 2019 [cited by applicant]
US 20190206121A1 · Jin · 2019 [cited by applicant]
US 20190311535A1 · Lacey · 2019 [cited by examiner]
US 20190362533A1 · Fuller · 2019 [cited by applicant]
US 20200098165A1 · Gruber · 2020 [cited by applicant]
US 20200134894A1 · Uhrenholt · 2020 [cited by applicant]
US 20200193703A1 · Favela · 2020 [cited by applicant]
US 20200312020A1 · Zhong et al. · 2020 [cited by applicant]
US 20200402295A1 · Lentz · 2020 [cited by applicant]
US 20200402297A1 · Brigg · 2020 [cited by examiner]
US 20210065437A1 · Brkic et al. · 2021 [cited by applicant]
US 20210110510A1 · Brigg et al. · 2021 [cited by applicant]
US 20210192827A1 · Saleh · 2021 [cited by examiner]
US 20210248805A1 · Jesus · 2021 [cited by examiner]
US 20210407191A1 · Yang · 2021 [cited by examiner]
US 20220092801A1 · Achrenius · 2022 [cited by examiner]
US 20220207827A1 · Acharya et al. · 2022 [cited by applicant]
US 20220237730A1 · Brkic · 2022 [cited by applicant]
US 20220366524A1 · Uhrenholt · 2022 [cited by applicant]
US 20230334735A1 · Goswami · 2023 [cited by examiner]
US 20240087078A1 · Ashkar et al. · 2024 [cited by applicant]
US 20240104684A1 · Bhiravabhatla · 2024 [cited by applicant]
US 20240169639A1 · Oygard et al. · 2024 [cited by applicant]
WO 2018052592A1 · 2018 [cited by applicant]
Non-Final Office Action dated Aug. 2, 2024, U.S. Appl. No. 17/989,548, 37 pages. [cited by applicant]
Non-Final Office Action dated Aug. 14, 2024, U.S. Appl. No. 17/989,671, 37 pages. [cited by applicant]
Extended European Search Report dated Jul. 5, 2024, European Patent Application No. 23210210.3, pp. 1-10. [cited by applicant]
Notice of Allowance dated Nov. 22, 2024, U.S. Appl. No. 17/989,548, 25 pages. [cited by applicant]
Response to Non-Final Office Action dated Sep. 19, 2024, U.S. Appl. No. 17/989,548, 14 pages. [cited by applicant]
Response to Non-Final Office Action dated Nov. 14, 2024, U.S. Appl. No. 17/989,671, 16 pages. [cited by applicant]
Notice of Allowance dated Jul. 15, 2025, U.S. Appl. No. 18/509,679, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Jan. 23, 2025, U.S. Appl. No. 17/989,671, 30 pages. [cited by applicant]
Combined Search and Examination Report under Sections 17 and 18(3) dated Jun. 3, 2024, GB Patent Application No. GB 2317492.3, pp. 1-7. [cited by applicant]
Combined Search and Examination Report under Sections 17 and 18(3) dated May 24, 2023, GB Patent Application No. GB 2217223.3, pp. 1-6. [cited by applicant]
Combined Search and Examination Report under Sections 17 and 18(3) dated May 30, 2023, GB Patent Application No. GB 2217253.0, pp. 1-6. [cited by applicant]
Search Report under Section 17 dated May 19, 2023, GB Patent Application No. GB 2217247.2, pp. 1-4. [cited by applicant]
Combined Search and Examination Report under Sections 17 and 18(3) dated May 19, 2023, GB Patent Application No. GB 2217238.1, pp. 1-7. [cited by applicant]
Search Report under Section 17 dated Jun. 19, 2023, GB Patent Application No. GB 2217246.4, pp. 1-4. [cited by applicant]
Øygard, T.K., et al., “Graphics Processors”, U.S. Appl. No. 17/989,548, filed Nov. 17, 2022. [cited by applicant]
Øygard, T.K., et al., “Graphics Processors”, U.S. Appl. No. 17/989,671, filed Nov. 17, 2022. [cited by applicant]
Øygard, T.K., et al., “Graphics Processors”, U.S. Appl. No. 18/509,432, filed Nov. 15, 2023. [cited by applicant]
Øygard, T.K., et al., “Graphics Processors”, U.S. Appl. No. 18/509,436, filed Nov. 15, 2023. [cited by applicant]
Øygard, T.K., et al., “Graphics Processors”, U.S. Appl. No. 18/509,439, filed Nov. 15, 2023. [cited by applicant]
Kjøll, P.K., et al., “Graphics Processors”, U.S. Appl. No. 18/509,679, filed Nov. 15, 2023. [cited by applicant]
Ruud, O.M., et al., “Graphics Processors”, U.S. Appl. No. 18/509,441, filed Nov. 15, 2023. [cited by applicant]
Ruud, O.M., et al., “Graphics Processors”, U.S. Appl. No. 18/509,448, filed Nov. 15, 2023. [cited by applicant]
Ruud, O.M., et al., “Graphics Processors”, U.S. Appl. No. 18/509,676, filed Nov. 15, 2023. [cited by applicant]
Øygard, T.K., et al., “Graphics Processors”, U.S. Appl. No. 18/509,426, filed Nov. 15, 2023. [cited by applicant]
PCT International Search Report and Written Opinion, dated Feb. 19, 2024, PCT International Application No. PCT/GB2023/052995, pp. 1-17. [cited by applicant]
Examination Report dated Apr. 1, 2025, GB Patent Application No. GB2217238.1, 4 pages. [cited by applicant]
Non-final Office Action dated Jul. 21, 2025, U.S. Appl. No. 18/509,432, filed Nov. 15, 2023. [cited by applicant]
U.S. Appl. No. 19/130,178, filed May 15, 2025. [cited by applicant]
Non-final Office Action dated Aug. 8, 2025, U.S. Appl. No. 18/509,426, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Aug. 25, 2025, U.S. Appl. No. 18/509,679, filed Nov. 15, 2023. [cited by applicant]
Non-final Office Action dated Aug. 26, 2025, U.S. Appl. No. 18/509,436, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated Sep. 9, 2025, U.S. Appl. No. 18/509,432, filed Nov. 15, 2023. [cited by applicant]
Non-final Office Action dated Sep. 24, 2025, U.S. Appl. No. 18/509,439, filed Nov. 15, 2023. [cited by applicant]
Non-final Office Action dated Oct. 9, 2025, U.S. Appl. No. 18/509,441, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated Nov. 7, 2025, U.S. Appl. No. 18/509,426, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Nov. 24, 2025, U.S. Appl. No. 18/509,432, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated Nov. 25, 2025, U.S. Appl. No. 18/509,436, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated Dec. 23, 2025, U.S. Appl. No. 18/509,439, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Jan. 6, 2026, U.S. Appl. No. 18/509,679, filed Nov. 15, 2023. [cited by applicant]
Non-final Office Action dated Jan. 8, 2026, U.S. Appl. No. 18/509,448, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated Jan. 8, 2026, U.S. Appl. No. 18/509,441, filed Nov. 15, 2023. [cited by applicant]
Non-final Office Action dated Jan. 16, 2026, U.S. Appl. No. 18/509,676, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Jan. 21, 2026, U.S. Appl. No. 18/509,426, filed Nov. 15, 2023. [cited by applicant]
Final Office Action dated Feb. 13, 2026, U.S. Appl. No. 18/509,439, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Feb. 27, 2026, U.S. Appl. No. 18/509,436, filed Nov. 15, 2023. [cited by applicant]
Supplemental Response to Office Action dated Mar. 3, 2026, U.S. Appl. No. 18/509,676, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Mar. 18, 2026, U.S. Appl. No. 18/509,441, filed Nov. 15, 2023. [cited by applicant]
Notice of Allowance dated Mar. 27, 2026, U.S. Appl. No. 18/509,676, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated May 8, 2026, U.S. Appl. No. 18/509,448, filed Nov. 15, 2023. [cited by applicant]
Response to Office Action dated May 8, 2026, U.S. Appl. No. 18/509,439, filed Nov. 15, 2023. [cited by applicant]