IP Library Granted Patent US 12,555,301
Granted Patent B2
US 12,555,301 · App. 18/413,267 · Granted Feb 17, 2026

Graphics processing system and method of rendering

Inventor: Enrique de Lucas (Hertfordshire, GB)
Assignee: Imagination Technologies Limited
G06T15/005G06T15/40G06T17/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,555,301
App. No.
18/413,267
Granted
Feb 17, 2026
Kind
B2
Abstract

A method of rendering a scene formed by primitives in a graphics processing system. For a sequence of primitives, a pipeline fragment shading rate value and a primitive fragment shading rate value for a primitive are combined to produce a combined fragment shading rate value for the primitive. Fragment shading rate data representing the combined fragment shading rate value for the primitive is stored and data identifying the primitive is associated with the fragment shading rate data. For a subsequent primitive, it is determined whether or not a combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive. If it is the same, data identifying the subsequent primitive is associated with the fragment shading rate data that the data identifying the preceding primitive is associated with. If it is not the same, further fragment shading rate data representing the combined fragment shading rate value for the subsequent primitive is stored and data identifying the subsequent primitive is associated with the further fragment shading rate data.

Claims (31)

1 . A method of rendering a scene formed by primitives in a graphics processing system, wherein the graphics processing system is configured to use a rendering space that is subdivided into a plurality of regions, the method comprising:

a geometry processing phase, wherein it is determined which primitives are present within which of the regions, the geometry processing phase comprising:

combining a pipeline fragment shading rate value and a primitive fragment shading rate value for a primitive to produce a combined fragment shading rate value for the primitive; and

storing fragment shading rate data representing the combined fragment shading rate value for the primitive and associating vertex data of the primitive with the fragment shading rate data; and

a rendering phase using the determination from the geometry processing phase of which primitives are present within which regions to render those regions, the rendering phase comprising:

retrieving the stored fragment shading rate data representing the combined fragment shading rate value for the primitive.

2 . The method of claim 1 , wherein the primitive is in a sequence of primitives, and the method further comprises determining, for a subsequent primitive, if a combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive, and

if the combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive, associating vertex data of the subsequent primitive with the fragment shading rate data that the vertex data of the preceding primitive is associated with, and repeating the determining step for a next subsequent primitive, if there is one.

3 . The method of claim 2 , wherein the primitives in the sequence of primitives have the same pipeline fragment shading rate value, and the step of determining further comprises identifying whether the primitive fragment shading rate value is different for the subsequent primitive and the preceding primitive.

4 . The method of claim 2 , wherein the graphics processing system is configured to use a rendering space that is subdivided into a plurality of regions, and the primitive and subsequent primitives at least partially cover a same one of the plurality of regions.

5 . The method of claim 1 , wherein the step of determining further comprises calculating a combined fragment shading rate value for the subsequent primitive.

6 . The method of claim 5 , wherein the step of determining further comprises checking if the calculated combined fragment shading rate value for the subsequent primitive differs from the combined fragment shading rate value for the preceding primitive.

7 . The method of claim 1 , wherein a combined shading rate value is calculated from a pipeline fragment shading rate value and primitive fragment shading rate value by any one of the following combination operations: selecting a particular one of the pipeline fragment shading rate value and primitive fragment shading rate value, selecting the maximum or minimum of the pipeline fragment shading rate and the primitive fragment shading rate values, multiplying together the pipeline fragment shading rate value and the primitive fragment shading rate value, or performing any other mathematical operation on the pipeline fragment shading rate value and primitive fragment shading rate value.

8 . The method of claim 7 , wherein different combination operations may be used for different primitives to calculate their respective combined fragment shading rate value.

9 . The method of claim 1 , wherein storing fragment shading rate data comprises creating a primitive block and storing the fragment shading rate data as header data in the primitive block.

10 . The method of claim 9 , wherein associating vertex data of the primitive with the fragment shading rate data comprises storing vertex data of the primitive in the primitive block having the fragment shading rate data as header data.

11 . A non-transitory computer readable storage medium having stored thereon computer readable code configured to cause the method as set forth in claim 1 to be performed when the code is run.

12 . A graphics processing system configured to render a scene formed by primitives, wherein the graphics processing system is configured to use a rendering space that is subdivided into a plurality of regions, wherein the graphics processing system comprises:

geometry processing logic configured to:

combine a pipeline fragment shading rate value and a primitive fragment shading rate value for a primitive to produce a combined fragment shading rate value for the primitive; and

store fragment shading rate data representing the combined fragment shading rate value for the primitive and associating vertex data of the primitive with the fragment shading rate data; and

rendering logic configured to:

retrieve the stored fragment shading rate data representing the combined fragment shading rate value for the primitive.

13 . The system of claim 12 , wherein the primitive is in a sequence of primitives, and the geometry processing logic is further configured to determine, for a subsequent primitive, if a combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive, and

if the combined fragment shading rate value for the subsequent primitive is not the same as for the preceding primitive, store further fragment shading rate data representing the combined fragment shading rate value for the subsequent primitive and associate vertex data of the subsequent primitive with the further fragment shading rate data; and repeat the determining step for a next subsequent primitive, if there is one.

14 . The system of claim 12 , wherein the processing logic calculates a combined shading rate value from a pipeline fragment shading rate value and primitive fragment shading rate value by any one of the following combination operations: selecting a particular one of the pipeline fragment shading rate value and primitive fragment shading rate value, selecting the maximum or minimum of the pipeline fragment shading rate and the primitive fragment shading rate values, multiplying together the pipeline fragment shading rate value and the primitive fragment shading rate value, or performing any other mathematical operation on the pipeline fragment shading rate value and primitive fragment shading rate value.

15 . The system of claim 12 , wherein the processing logic is configured to store fragment shading rate data by creating a primitive block and storing the fragment shading rate data as header data in the primitive block, and wherein the processing logic is configured to associate vertex data of a primitive with the fragment shading rate data by storing vertex data of the primitive in the primitive block having the fragment shading rate data as header data.

16 . The system of claim 12 , wherein the graphics processing system is embodied in hardware on an integrated circuit.

17 . A method of manufacturing, using an integrated circuit manufacturing system, a graphics processing system by inputting to said integrated circuit manufacturing system an integrated circuit definition dataset that, when processed in said integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture the graphics processing system as set forth in claim 12 .

18 . A non-transitory computer readable storage medium having stored thereon an integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture a graphics processing system as set forth in claim 12 .

19 . An integrated circuit manufacturing system configured to manufacture a graphics processing system as set forth in claim 12 .

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Priority Claims (2)
GB 2109482 · Jun 30, 2021 · national
GB 2109483 · Jun 30, 2021 · national
Continuity (2)
Continuation 17854277 · Jun 30, 2022
Related Publication 20240233239A1 · Jul 11, 2024
References Cited (17)
US 10235799B2 · Nevraev et al. · 2019 [cited by applicant]
US 10249085B2 · Howson et al. · 2019 [cited by applicant]
US 10546512B2 · Nakamura · 2020 [cited by applicant]
US 11138786B1 · Uhrenholt · 2021 [cited by examiner]
US 11250611B1 · Ruud et al. · 2022 [cited by applicant]
US 20150332481A1 · Rosasco · 2015 [cited by applicant]
US 20150348306A1 · Yang et al. · 2015 [cited by applicant]
US 20190005712A1 · Nevraev et al. · 2019 [cited by applicant]
US 20200020153A1 · Sathe · 2020 [cited by applicant]
US 20200051290A1 · Yang et al. · 2020 [cited by applicant]
US 20210192827A1 · Saleh et al. · 2021 [cited by applicant]
US 20210383600A1 · Uhrenholt et al. · 2021 [cited by applicant]
US 20210407183A1 · Guo · 2021 [cited by applicant]
US 20220301095A1 · Dagani · 2022 [cited by examiner]
CN 105139330A · 2015 [cited by applicant]
GB 2603156A · 2022 [cited by applicant]
WO 2019147929A1 · 2019 [cited by applicant]