# US 11,908,079 B2 · Variable rate tessellation

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

- Number: US 11,908,079 B2
- Document ID: US11908079B2
- Status: Granted
- Kind: B2
- Application number: 17/658,634
- Filed: 2022-04-08
- Published: 2023-10-12
- Granted: 2024-02-20
- Earliest claimed: 2022-04-08
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Renju Boben; Kalyan Kumar Bhiravabhatla; Vishwanath Shashikant Nikam; Suvam Chatterjee; Ankit Kumar Singh; Abhishek Lal; Sampathkumar Periasamy
- Web page: https://patentgrep.com/patent/US11908079B2

## CPC

- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 15/005: {General purpose rendering architectures}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

This disclosure provides systems, devices, apparatus, and methods, including computer programs encoded on storage media, for variable rate tessellation. A graphics processor may receive data for geometry processing of a plurality of patches in a draw call. The graphics processor may reduce a tessellation factor of each of the plurality of patches based on a property of each of the plurality of patches. The reduced tessellation factor may correspond to a TRF. The property may correspond to a shading rate or a number of visible pixels. The graphics processor may apply the TRF for each of the plurality of patches. The graphics processor may render each of the plurality of patches based on the applied TRF for each of the plurality of patches.

## Claims

### Claim 1

An apparatus for graphics processing, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
receive data for geometry processing of a plurality of patches in a draw call, each of the plurality of patches including a plurality of primitives, each of the plurality of primitives in each of the plurality of patches including one or more sub-primitives;
reduce a tessellation factor of each of the plurality of patches based on a property of each of the plurality of patches, the reduced tessellation factor corresponding to a tessellation reduction factor (TRF), the property corresponding to a shading rate or a number of visible pixels;
apply the TRF for each of the plurality of patches; and
render each of the plurality of patches based on the applied TRF for each of the plurality of patches.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the tessellation factor of each of the plurality of patches is reduced such that a ratio of a number of effective pixels to a number of the one or more sub-primitives for each of the plurality of patches remains constant.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the TRF is dynamically identified based on a ratio of the number of visible pixels to a number of the one or more sub-primitives within each of the plurality of patches, and the TRF is identified based on an iterative process.

### Claim 4 (depends on 1)

The apparatus of claim 1, the at least one processor being further configured to:
receive a variable rate shading (VRS) input associated with the shading rate of each of the plurality of patches, wherein the tessellation factor of each of the plurality of patches is reduced based on the VRS input.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the VRS input is draw-based, and the TRF for each of the plurality of patches is a same TRF.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the TRF for each of the plurality of patches is applied in a binning pass or a rendering pass.

### Claim 7 (depends on 4)

The apparatus of claim 4, wherein the VRS input is primitive-based, and a first TRF for at least one patch of the plurality of patches is different from a second TRF for at least one other patch of the plurality of patches.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the TRF for each of the plurality of patches is applied in a binning pass or a rendering pass.

### Claim 9 (depends on 4)

The apparatus of claim 4, wherein the VRS input is image-based, and the at least one processor is further configured to:
create, based on the VRS input, a TRF buffer for storing the TRF for each of the plurality of patches.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the TRF for each of the plurality of patches is applied in a rendering pass.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the plurality of primitives includes a first primitive associated with a plurality of tiles, and a first TRF for the first primitive corresponds to a largest second TRF for the plurality of tiles.

### Claim 12 (depends on 1)

The apparatus of claim 1, wherein one or more internal tessellation factors including the tessellation factor of each of the plurality of patches are reduced, and one or more external tessellation factors are not reduced.

### Claim 13 (depends on 1)

The apparatus of claim 1, wherein the apparatus is a wireless communication device.

### Claim 14

A method of graphics processing, comprising:
receiving data for geometry processing of a plurality of patches in a draw call, each of the plurality of patches including a plurality of primitives, each of the plurality of primitives in each of the plurality of patches including one or more sub-primitives;
reducing a tessellation factor of each of the plurality of patches based on a property of each of the plurality of patches, the reduced tessellation factor corresponding to a tessellation reduction factor (TRF), the property corresponding to a shading rate or a number of visible pixels;
applying the TRF for each of the plurality of patches; and
rendering each of the plurality of patches based on the applied TRF for each of the plurality of patches.

### Claim 15 (depends on 14)

The method of claim 14, wherein the tessellation factor of each of the plurality of patches is reduced such that a ratio of a number of effective pixels to a number of the one or more sub-primitives for each of the plurality of patches remains constant.

### Claim 16 (depends on 14)

The method of claim 14, wherein the TRF is dynamically identified based on a ratio of the number of visible pixels to a number of the one or more sub-primitives within each of the plurality of patches, and the TRF is identified based on an iterative process.

### Claim 17 (depends on 14)

The method of claim 14, further comprising:
receiving a variable rate shading (VRS) input associated with the shading rate of each of the plurality of patches, wherein the tessellation factor of each of the plurality of patches is reduced based on the VRS input.

### Claim 18 (depends on 17)

The method of claim 17, wherein the VRS input is draw-based, and the TRF for each of the plurality of patches is a same TRF.

### Claim 19 (depends on 18)

The method of claim 18, wherein the TRF for each of the plurality of patches is applied in a binning pass or a rendering pass.

### Claim 20 (depends on 17)

The method of claim 17, wherein the VRS input is primitive-based, and a first TRF for at least one patch of the plurality of patches is different from a second TRF for at least one other patch of the plurality of patches.

### Claim 21 (depends on 20)

The method of claim 20, wherein the TRF for each of the plurality of patches is applied in a binning pass or a rendering pass.

### Claim 22 (depends on 17)

The method of claim 17, wherein the VRS input is image-based, and the method further comprises:
creating, based on the VRS input, a TRF buffer for storing the TRF for each of the plurality of patches.

### Claim 23 (depends on 22)

The method of claim 22, wherein the TRF for each of the plurality of patches is applied in a rendering pass.

### Claim 24 (depends on 22)

The method of claim 22, wherein the plurality of primitives includes a first primitive associated with a plurality of tiles, and a first TRF for the first primitive corresponds to a largest second TRF for the plurality of tiles.

### Claim 25 (depends on 14)

The method of claim 14, wherein one or more internal tessellation factors including the tessellation factor of each of the plurality of patches are reduced, and one or more external tessellation factors are not reduced.

### Claim 26

A non-transitory computer-readable medium storing computer executable code, the code when executed by at least one processor, causes the at least one processor to:
receive data for geometry processing of a plurality of patches in a draw call, each of the plurality of patches including a plurality of primitives, each of the plurality of primitives in each of the plurality of patches including one or more sub-primitives;
reduce a tessellation factor of each of the plurality of patches based on a property of each of the plurality of patches, the reduced tessellation factor corresponding to a tessellation reduction factor (TRF), the property corresponding to a shading rate or a number of visible pixels;
apply the TRF for each of the plurality of patches; and
render each of the plurality of patches based on the applied TRF for each of the plurality of patches.

### Claim 27 (depends on 26)

The non-transitory computer-readable medium of claim 26, wherein the tessellation factor of each of the plurality of patches is reduced such that a ratio of a number of effective pixels to a number of the one or more sub-primitives for each of the plurality of patches remains constant.

### Claim 28 (depends on 26)

The non-transitory computer-readable medium of claim 26, wherein the TRF is dynamically identified based on a ratio of the number of visible pixels to a number of the one or more sub-primitives within each of the plurality of patches, and the TRF is identified based on an iterative process.

### Claim 29 (depends on 26)

The non-transitory computer-readable medium of claim 26, the code further causing the at least one processor to:
receive a variable rate shading (VRS) input associated with the shading rate of each of the plurality of patches, wherein the tessellation factor of each of the plurality of patches is reduced based on the VRS input.

### Claim 30 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the VRS input is draw-based, and the TRF for each of the plurality of patches is a same TRF.
