IP Library Granted Patent US 11,875,443
Granted Patent B2
US 11,875,443 · App. 17/854,277 · Granted Jan 16, 2024

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 11,875,443
App. No.
17/854,277
Granted
Jan 16, 2024
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 (29)

1. A method of rendering a scene formed by primitives in a graphics processing system, the method comprising, for a sequence of primitives:

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;

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;

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; and,

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

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

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

4. The method of claim 3 , 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.

5. 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.

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

7. 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.

8. The method of claim 7 , wherein associating vertex data of a 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.

9. The method of claim 1 , wherein the graphics processing system is configured to use a rendering space that is subdivided into a plurality of regions.

10. The method of claim 9 , wherein the primitive and subsequent primitives at least partially cover a same one of the plurality of regions.

11. A graphics processing system configured to render a scene formed by primitives, 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 in a sequence of primitives to produce a combined fragment shading rate value for the primitive;

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;

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 the same as for the preceding primitive, associate vertex data of the subsequent primitive with the fragment shading rate data that the vertex data of the preceding primitive is associated with, and repeat the determining step for a next subsequent primitive, if there is one; 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.

12. The system of claim 11 , wherein the primitives in the sequence of primitives have the same pipeline fragment shading rate value, and wherein the processing logic configured to determine if a combined fragment shading rate value for the subsequent primitive is the same as for the preceding primitive further comprises processing logic configured to identify that the primitive fragment shading rate value is different for the subsequent primitive and the preceding primitive.

13. The system of claim 11 , 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.

14. The system of claim 11 , 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.

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

16. 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 11 .

17. A non-transitory computer readable storage medium having stored thereon computer readable code configured to cause the method of claim 1 to be performed when the code is run.

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 11 .

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

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2023
From: LUCAS, ENRIQUE DE
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 064891/0148 →