# US 12,118,656 B2 · VRS rate feedback

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

- Number: US 12,118,656 B2
- Document ID: US12118656B2
- Status: Granted
- Kind: B2
- Application number: 18/304,115
- Filed: 2023-04-20
- Published: 2023-08-10
- Granted: 2024-10-15
- Earliest claimed: 2019-12-20
- Assignees: Advanced Micro Devices, Inc.
- Applicants: Advanced Micro Devices, Inc.
- Inventors: Skyler Jonathon Saleh; Vineet Goel; Pazhani Pillai; Ruijin Wu; Christopher J. Brennan; Andrew S. Pomianowski
- Web page: https://patentgrep.com/patent/US12118656B2

## CPC

- G06T 15/005: {General purpose rendering architectures}
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 1/60: Memory management
- G06T 11/40: Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
- G06T 2210/52: Parallel processing
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques for performing shader operations are provided. The techniques include, performing pixel shading at a shading rate defined by pixel shader variable rate shading (“VRS”) data, and updating the pixel VRS data that indicates one or more shading rates for one or more tiles based on whether the tiles of the one or more tiles include triangle edges or do not include triangle edges, to generate updated VRS data.

## Claims

### Claim 1

A method comprising:
rendering graphics data to generate rendered graphics data using a set of variable rate shading (“VRS”) data; and
generating a set of VRS rate feedback data for operations subsequent to the rendering, the set of VRS rate feedback data including modifications with respect to the set of VRS data, the modifications being associated with portions of the graphics data at which one or more triangle edges occur, wherein generating the set of VRS rate feedback data includes modifying VRS rates specified by the VRS data based on depth test results.

### Claim 2 (depends on 1)

The method of claim 1, wherein rendering the graphics data using the set of VRS data includes performing rasterizing and pixel shading at a shading rate specified by the VRS data.

### Claim 3 (depends on 1)

The method of claim 1, wherein modifying the VRS rates includes:
in response to determining that at least one fragment and less than all fragments of a VRS tile pass a depth test, including an indication for that VRS tile that the VRS tile includes a triangle edge.

### Claim 4 (depends on 3)

The method of claim 3, wherein the depth test comprises a coarse depth test.

### Claim 5 (depends on 1)

The method of claim 1, wherein modifying the VRS rates includes:
in response to determining that all fragments of a VRS tile pass a depth test, including, as a shading rate for the VRS tile, in the set of VRS rate feedback data, a shading rate of a corresponding VRS tile of the VRS data.

### Claim 6

A method, comprising:
rendering graphics data to generate rendered graphics data using a set of variable rate shading (“VRS”) data;
generating a set of VRS rate feedback data for operations subsequent to the rendering, the set of VRS rate feedback data including modifications with respect to the set of VRS data, the modifications being associated with portions of the graphics data at which one or more triangle edges occur; and
performing post-processing operations on the rendered graphics data using the set of VRS rate feedback data, wherein the post-processing operations include one or more of generating direct shadows via ray tracing or rasterization, generating direct lighting using a compute technique, generating reflections, generating global illumination using a ray tracing technique, performing ambient occlusion using ray tracing or a compute technique, or generating transparency and translucency effects using a ray tracing technique.

### Claim 7 (depends on 6)

The method of claim 6, wherein the post-processing operations are performed at a resolution of a render target for VRS tiles that include an indication of a triangle edge.

### Claim 8

An accelerated processing device comprising:
a memory configured to store a set of variable rate shading data and a set of VRS rate feedback data; and
a processor configured to:
render graphics data to generate rendered graphics data using the set of variable rate shading (“VRS”) data; and
generating the set of VRS rate feedback data for operations subsequent to the rendering, the set of VRS rate feedback data including modifications with respect to the set of VRS data, the modifications being associated with portions of the graphics data at which one or more triangle edges occur, wherein generating the set of VRS rate feedback data includes modifying VRS rates specified by the VRS data based on depth test results.

### Claim 9 (depends on 8)

The accelerated processing device of claim 8, wherein rendering the graphics data using the set of VRS data includes performing rasterizing and pixel shading at a shading rate specified by the VRS data.

### Claim 10 (depends on 8)

The accelerated processing device of claim 8, wherein modifying the VRS rates includes:
in response to determining that at least one fragment and less than all fragments of a VRS tile pass a depth test, including an indication for that VRS tile that the VRS tile includes a triangle edge.

### Claim 11 (depends on 10)

The accelerated processing device of claim 10, wherein the depth test comprises a coarse depth test.

### Claim 12 (depends on 8)

The accelerated processing device of claim 8, wherein modifying the VRS rates includes:
in response to determining that all fragments of a VRS tile pass a depth test, including, as a shading rate for the VRS tile, in the set of VRS rate feedback data, a shading rate of a corresponding VRS tile of the VRS data.

### Claim 13

An accelerated processing device comprising:
a memory configured to store a set of variable rate shading data and a set of VRS rate feedback data; and
a processor configured to:
render graphics data to generate rendered graphics data using the set of variable rate shading (“VRS”) data;
generate the set of VRS rate feedback data for operations subsequent to the rendering, the set of VRS rate feedback data including modifications with respect to the set of VRS data, the modifications being associated with portions of the graphics data at which one or more triangle edges occur; and
perform post-processing operations on the rendered graphics data using the set of VRS rate feedback data, wherein the post-processing operations include one or more of generating direct shadows via ray tracing or rasterization, generating direct lighting using a compute technique, generating reflections, generating global illumination using a ray tracing technique, performing ambient occlusion using ray tracing or a compute technique, or generating transparency and translucency effects using a ray tracing technique.

### Claim 14 (depends on 13)

The accelerated processing device of claim 13, wherein the post-processing operations are performed at a resolution of a render target for VRS tiles that include an indication of a triangle edge.

### Claim 15

A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
rendering graphics data to generate rendered graphics data using a set of variable rate shading (“VRS”) data; and
generating a set of VRS rate feedback data for operations subsequent to the rendering, the set of VRS rate feedback data including modifications with respect to the set of VRS data, the modifications being associated with portions of the graphics data at which one or more triangle edges occur, wherein generating the set of VRS rate feedback data includes modifying VRS rates specified by the VRS data based on depth test results.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein rendering the graphics data using the set of VRS data includes performing rasterizing and pixel shading at a shading rate specified by the VRS data.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein modifying the VRS rates includes:
in response to determining that at least one fragment and less than all fragments of a VRS tile pass a depth test, including an indication for that VRS tile that the VRS tile includes a triangle edge.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the depth test comprises a coarse depth test.

### Claim 19

A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
rendering graphics data to generate rendered graphics data using a set of variable rate shading (“VRS”) data;
generating a set of VRS rate feedback data for operations subsequent to the rendering, the set of VRS rate feedback data including modifications with respect to the set of VRS data, the modifications being associated with portions of the graphics data at which one or more triangle edges occur; and
performing post-processing operations on the rendered graphics data using the set of VRS rate feedback data, wherein the post-processing operations include one or more of generating direct shadows via ray tracing or rasterization, generating direct lighting using a compute technique, generating reflections, generating global illumination using a ray tracing technique, performing ambient occlusion using ray tracing or a compute technique, or generating transparency and translucency effects using a ray tracing technique.
