# US 2022/0036497 A1 · Graphics processing systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2022/0036497 A1
- Document ID: US20220036497A1
- Status: Published application
- Kind: A1
- Application number: 16/943,478
- Filed: 2020-07-30
- Published: 2022-02-03
- Earliest claimed: 2020-07-30
- Assignees: Arm Limited
- Applicants: Arm Limited
- Inventors: Mark Stephen Bellamy
- Web page: https://patentgrep.com/patent/US20220036497A1

## CPC

- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 21/84: output devices, e.g. displays or monitors
- G06T 15/005: {General purpose rendering architectures}
- G09G 5/363: {Graphics controllers}
- G09G 2320/103: Detection of image changes, e.g. determination of an index representative of the image change
- G09G 2330/08: Fault-tolerant or redundant circuits, or circuits in which repair of defects is prepared
- G09G 2340/16: Determination of a pixel data signal depending on the signal applied in the previous frame
- G09G 2358/00: Arrangements for display data security
- G09G 2360/12: Frame memory handling
- G09G 2360/18: Use of a frame buffer in a display terminal, inclusive of the display panel
- G09G 2370/04: Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

When rendering a frame, e.g. that is to be used for rendering subsequent frames to be rendered, two versions of the frame are rendered, and sets of information representative of the content of the versions of the frame are compared to determine whether the first and second versions of the frame match or not. When the comparison determines that the two versions of the frame match, the frame is, e.g. used for rendering subsequent frames, but when the comparison determines that the two versions of the frame do not match, an error operation is performed.

## Claims

### Claim 1

A method of operating a graphics processing system that includes a graphics processor operable to render frames, the method comprising:
the graphics processor, when rendering a frame, rendering the frame twice, the rendering the frame twice comprising:
rendering a first version of the frame;
generating a set of information representative of the content of the first version of the frame;
rendering a second version of the frame; and
generating a set of information representative of the content of the second version of the frame;
the method further comprising:
comparing the set of information indicative of the content of the first version of the frame to the set of information indicative of the content of the second version of the frame; and
determining whether the first and second versions of the frame match or not based on the results of the comparison.

### Claim 2 (depends on 1)

The method of claim 1, wherein the frame that is being rendered comprises a frame that is to be used for rendering subsequent frames to be rendered and/or a frame that is to be displayed.

### Claim 3 (depends on 1)

The method of claim 1, comprising the graphics processor:
when rendering the first version of the frame, rendering that first version of the frame, generating a set of content indicating information for that version of the frame, and storing the rendered first version of the frame to memory;
but when rendering the second version of the frame, generating the second version of the frame and a set of content indicating information from that second version of the frame, but not storing the rendered second version of the frame to memory.

### Claim 4 (depends on 1)

The method of claim 1, wherein the information representative of the content of the version of the frame is in the form of one or more content-indicating signatures for the version of the frame, which signature(s) are generated from content of the version of the frame.

### Claim 5 (depends on 1)

The method of claim 1, comprising generating a content-indicating signature for each of plural regions for each version of the frame that is rendered, and wherein the comparison process comprises comparing the signatures of the respective regions for each generated version of the frame.

### Claim 6 (depends on 1)

The method of claim 1, wherein the frame that is being rendered comprises a frame that is to be used for rendering subsequent frames to be rendered, and the method comprises when it is determined that the first and second versions of the frame match, the graphics processor rendering one or more subsequent frames using one of the first and second versions of the frame.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
when it is determined that the first and second versions of the frame do not match, performing an error operation.

### Claim 8 (depends on 1)

The method of claim 1, wherein the graphics processing system comprises a processor other than the graphics processor; and the method comprises:
the graphics processor providing the respective sets of content indicating information for each version of the frame to that other processor; and
that other processor comparing the two sets of content indicating information to determine whether the first and second versions of the frame match or not.

### Claim 9 (depends on 1)

The method of claim 1, comprising:
the graphics processor:
rendering the first version of the frame by rendering respective regions of the first version of the frame in turn; and
generating for each region that it renders for the first version of the frame, a corresponding set of information representative of the content of that region of the first version of the frame;
and
when rendering the second version of the frame:
rendering the second version of the frame by rendering corresponding regions of the second version of the frame in turn; and
generating for each region that it renders for the second version of the frame, a corresponding set of information representative of the content of that region of the second version of the frame;
and
when a region for the second version of the frame has been rendered:
comparing the set of information representative of the content of the region of the second version of the frame to the previously generated set of information representative of the content of the corresponding region for the first version of the frame; and
determining whether the region of the second version of the frame matches the corresponding region of the first version of the frame or not based on the results of the comparison.

### Claim 10 (depends on 1)

The method of claim 1, wherein the graphics processor comprises a write transaction elimination circuit that is configured to compare content-indicating information for a region for a frame to be written out from the graphics processor to content-indicating information for a region of a frame that has previously been written out by the graphics processor, to determine whether to write out the new frame region or not; and
the method comprises using the write transaction elimination circuit to:
compare the set of information indicative of the content of the first version of the frame to the set of information indicative of the content of the second version of the frame; and
determine whether the first and second versions of the frame match or not based on the results of the comparison.

### Claim 11

A graphics processing system, the graphics processing system comprising:
a graphics processor, the graphics processor comprising:
a rendering circuit operable to render frames; and
a processing circuit configured to generate a set of information representative of the content of a frame that the graphics processor has rendered;
and
a host processor operable to control the graphics processor to render frames;
the host processor comprising a processing circuit configured to cause the graphics processor to, when a frame is to be rendered, render the frame twice, including to:
render a first version of the frame;
generate a set of information representative of the content of the first version of the frame;
render a second version of the frame; and
generate a set of information representative of the content of the second version of the frame;
the graphics processing system further comprising:
a comparison circuit configured to:
compare a set of information indicative of the content of a first version of a frame to a set of information indicative of the content of a second version of the frame; and
determine whether the first and second versions of the frame match or not based on the results of the comparison.

### Claim 12 (depends on 11)

The system of claim 11, wherein the frame that is being rendered comprises a frame that is to be used for rendering subsequent frames to be rendered and/or a frame that is to be displayed.

### Claim 13 (depends on 11)

The system of claim 11, wherein the graphics processor is configured to:
when rendering the first version of the frame, render that first version of the frame, generate a set of content indicating information for that version of the frame, and store the rendered first version of the frame to memory;
but when rendering the second version of the frame, generate the second version of the frame and a set of content indicating information from that second version of the frame, but not store the rendered second version of the frame to memory.

### Claim 14 (depends on 11)

The system of claim 11, wherein the information representative of the content of the version of the frame is in the form of one or more content-indicating signatures for the version of the frame, which signature(s) are generated from content of the version of the frame.

### Claim 15 (depends on 11)

The system of claim 11, wherein:
the graphics processor is configured to generate a content-indicating signature for each of plural regions for each version of the frame that is rendered; and
the comparison circuit is configured to compare the signatures of the respective regions for each generated version of the frame.

### Claim 16 (depends on 11)

The system of claim 11, wherein the frame that is being rendered comprises a frame that is to be used for rendering subsequent frames to be rendered, and the system further comprises a processing circuit configured to, when it is determined that the first and second versions of the frame match:
cause the graphics processor to render one or more subsequent frames using one of the first and second versions of the frame.

### Claim 17 (depends on 11)

The system of claim 11, further comprising a processing circuit configured to, when it is determined that the first and second versions of the frame do not match:
cause an error operation to be performed.

### Claim 18 (depends on 11)

The system of claim 11, wherein:
the comparison circuit is on a processor other than the graphics processor;
and
the graphics processor is configured to provide the respective sets of content indicating information for each version of the frame to that other processor.

### Claim 19 (depends on 11)

The system of claim 11, wherein:
the comparison circuit is on the graphics processor, and is configured to:
when the graphics processor has rendered a region for the second version of the frame:
compare the set of information representative of the content of the region of the second version of the frame to a previously generated set of information representative of the content of the corresponding region for the first version of the frame; and
determine whether the region of the second version of the frame matches the corresponding region of the first version of the frame or not based on the results of the comparison.

### Claim 20 (depends on 11)

The system of claim 11, wherein the comparison circuit comprises a write transaction elimination circuit of the graphics processor that is configured to compare content-indicating information for a region for a frame to be written out from the graphics processor to content-indicating information for a region of a frame that has previously been written out by the graphics processor, to determine whether to write out the new frame region or not.

### Claim 21

A non-transitory computer readable storage medium storing computer software code which when executing on a graphics processor performs a method of operating a graphics processing system that includes a graphics processor operable to render frames, the method comprising:
the graphics processor, when rendering a frame, rendering the frame twice, the rendering the frame twice comprising:
rendering a first version of the frame;
generating a set of information representative of the content of the first version of the frame;
rendering a second version of the frame; and
generating a set of information representative of the content of the second version of the frame;
the method further comprising:
comparing the set of information indicative of the content of the first version of the frame to the set of information indicative of the content of the second version of the frame; and
determining whether the first and second versions of the frame match or not based on the results of the comparison.
