# US 7,612,783 B2 · Advanced anti-aliasing with multiple graphics processing units

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

- Number: US 7,612,783 B2
- Document ID: US7612783B2
- Status: Granted
- Kind: B2
- Application number: 11/429,078
- Filed: 2006-05-08
- Published: 2007-11-08
- Granted: 2009-11-03
- Earliest claimed: 2006-05-08
- Assignees: ATI Technologies, Inc.
- Inventors: Rajabali M. Koduri; Gordon M. Elder; Jeffrey A. Golds
- Web page: https://patentgrep.com/patent/US7612783B2

## CPC

- G06T 15/503: {Blending, e.g. for anti-aliasing}
- G06F 3/14: Digital output to display device {; Cooperation and interconnection of the display device with other functional units}
- G06T 7/13: Edge detection
- G06T 11/23: using straight lines or curves
- G06T 15/005: {General purpose rendering architectures}
- G09G 5/001: {Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor}
- G09G 5/363: {Graphics controllers}
- G06T 2210/08: Bandwidth reduction
- G06T 2210/52: Parallel processing
- 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

A method and apparatus for performing multisampling-based antialiasing in a system that includes first and second graphics processing unit (GPUs) that reduces the amount of data transferred between the GPUs and improves the efficiency with which such data is transferred. The first GPU renders a first version of a frame using a first multisampling pattern and the second GPU renders a second version of a frame in the second GPU using a second multisampling pattern. The second GPU identifies non-edge pixels in the second version of the frame. The pixels in the first version of the frame are then combined with only those pixels in the second version of the frame that have not been identified as non-edge pixels to generate a combined frame.

## Claims

### Claim 1

A method for performing multisampling-based antialiasing in a system that includes a first graphics processing unit (GPU) and a second GPU comprising:
rendering a first version of a frame in the first GPU using a first multisampling pattern;
rendering a second version of the frame in the second GPU using a second multisampling pattern;
identifying edge pixels in the second version of the frame; and
combining pixels in the first version of the frame with only those pixels in the second version of the frame that have been identified as edge pixels to generate a combined frame.

### Claim 2 (depends on 1)

The method of claim 1, wherein rendering the first version of the frame in the first GPU using the first multisampling pattern comprises:
sampling each pixel in the frame in accordance with the first multisampling pattern to obtain multiple first samples for each pixel; and
resolving the multiple first samples for each pixel to generate the pixels of the first version of the frame.

### Claim 3 (depends on 2)

The method of claim 2, wherein rendering the second version of the frame in the second GPU using the second multisampling pattern comprises:
sampling each pixel in the frame in accordance with the second multisampling pattern to obtain multiple second samples for each pixel; and
resolving the multiple second samples for each pixel to generate the pixels of the second version of the frame.

### Claim 4 (depends on 1)

The method of claim 1, wherein identifying edge pixels in the second version of the frame comprises:
accessing data indicating whether or not a pixel in the second version of the frame is compressed; and
if the accessed data indicates that the pixel in the second version of the frame is not compressed, identifying the pixel in the second version of the frame as an edge pixel.

### Claim 5 (depends on 1)

The method of claim 1, wherein combining pixels in the first version of the frame with only those pixels in the second version of the frame that have been identified as edge pixels comprises:
generating a mask based on compression data associated with the pixels in the second version of the frame;
applying the mask to the second version of the frame; and
transferring only those pixels in the second version of the frame that are not covered by the mask over a bus for combination with the pixels in the first version of the frame.

### Claim 6 (depends on 1)

The method of claim 1, wherein combining pixels in the first version of the frame with only those pixels in the second version of the frame that have been identified as edge pixels comprises:
linearly blending pixels in the first version of the frame with only those pixels in the second version of the frame that have been identified as edge pixels.

### Claim 7

A graphics processing system, comprising:
a first graphics processing unit (GPU) configured to render a first version of a frame using a first multisampling pattern;
a second graphics processing unit (GPU) configured to render a second version of the frame using a second multisampling pattern; and
a bus connecting the first GPU and the second GPU;
wherein the second GPU is further configured to identify edge pixels in the second version of the frame and to transfer only those pixels in the second version of the frame that have been identified as edge pixels over the bus to the first GPU, and
wherein the first GPU is further configured to combine the pixels in the first version of the frame with the pixels transferred from the second GPU to generate a combined frame.

### Claim 8 (depends on 7)

The system of claim 7, wherein the bus comprises a PCI-Express bus.

### Claim 9 (depends on 7)

The system of claim 7, wherein the first GPU is configured to sample each pixel in the frame in accordance with the first multisampling pattern to obtain multiple first samples for each pixel and to resolve the multiple first samples for each pixel to generate the pixels of the first version of the frame.

### Claim 10 (depends on 9)

The system of claim 9, wherein the second GPU is configured to sample each pixel in the frame in accordance with the second multisampling pattern to obtain multiple second samples for each pixel and to resolve the multiple second samples for each pixel to generate the pixels of the second version of the frame.

### Claim 11 (depends on 7)

The system of claim 7, wherein the second GPU comprises:
a memory;
wherein the second GPU is further configured to access a table stored in the memory and to identify a pixel in the second version of the frame as an edge pixel if the table indicates that the pixel in the second version of the frame is not compressed.

### Claim 12 (depends on 7)

The system of claim 7, wherein the second GPU is further configured to generate a mask based on compression data associated with the pixels in the second version of the frame, to apply the mask to the second version of the frame, and to transfer only those pixels in the second version of the frame that are not covered by the mask over the bus to the first GPU.

### Claim 13 (depends on 7)

The system of claim 7, wherein the first GPU includes a compositor, the compositor configured to linearly blend pixels in the first version of the frame with the pixels transferred from the second GPU to generate the combined frame.

### Claim 14

A method for performing multisampling-based antialiasing in a system that includes a first graphics processing unit (GPU) and a second GPU comprising:
rendering a first version of a frame in the first GPU using a first multisampling pattern;
rendering edge pixels associated with a second version of a frame in the second GPU using a second multisampling pattern;
transferring the edge pixels from the second GPU to the first GPU; and
combining only the edge pixels transferred from the second GPU with pixels in the first version of the frame to generate a combined frame.

### Claim 15

A tangible computer useable medium having stored control for causing a first graphics processing unit (GPU) and a second GPU to perform multisampling-based antialiasing, the control logic comprising:
first computer readable program code means for causing the first GPU to render a first version of a frame in using a first multisampling pattern;
second computer readable program code means for causing a second GPU to render a second version of the frame using a second multisampling pattern;
third computer readable program code means for causing the second GPU to identify edge pixels in the second version of the frame; and
fourth computer readable program code means for causing the first GPU and/or the second GPU to combine pixels in the first version of the frame with only those pixels in the second version of the frame that have been identified as edge pixels to generate a combined frame.
