# US 2019/0172213 A1 · Tile-based low-resolution depth storage

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

- Number: US 2019/0172213 A1
- Document ID: US20190172213A1
- Status: Published application
- Kind: A1
- Application number: 15/832,118
- Filed: 2017-12-05
- Published: 2019-06-06
- Earliest claimed: 2017-12-05
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Jonathan Wicks; Kevin Matlage; Robert VanReenen
- Web page: https://patentgrep.com/patent/US20190172213A1

## CPC

- G06T 7/50: Depth or shape recovery
- 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 15/005: {General purpose rendering architectures}
- G06T 15/405: {using Z-buffer}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques are described for generating, with a graphics processing unit (GPU), depth values for pixels of a tile. The tile is one of a plurality of tiles of a frame. The GPU may store a first number of the depth values for the pixels in a tile memory internal to the GPU. The tile memory is configured to store image content for the tile of the frame. The GPU may write a second number of the depth values stored in the tile memory to a system memory. The second number is less than the first number.

## Claims

### Claim 1

A method of generating image content, the method comprising:
generating, with a graphics processing unit (GPU), depth values for pixels of a tile of a frame;
storing a first number of the depth values for the pixels in a tile memory internal to the GPU, wherein the tile memory is configured to store image content for the tile of the frame; and
writing a second number of the depth values stored in the tile memory to a system memory, wherein the second number is less than the first number.

### Claim 2 (depends on 1)

The method of claim 1, wherein writing the second number of the depth values comprises executing a shader on the GPU to write the second number of the depth values stored in the tile memory to the system memory.

### Claim 3 (depends on 1)

The method of claim 1, wherein writing the second number of the depth values comprises writing the second number of the depth values in response to a drawcall included after drawcalls used to render at least a part of the image content for the tile.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
reading the second number of the depth values as a texture map with a single texture fetch to the tile memory,
wherein writing the second number of the depth values comprises writing the second number of the depth values based on the read depth values.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
generating color or opacity values for the pixels of the tile;
storing a third number of the color or opacity values for the pixels of the tile, wherein the third number is greater than the second number; and
writing the third number of the color or opacity values for the pixels of the tile.

### Claim 6 (depends on 1)

The method of claim 1, wherein the tile is one of a plurality of tiles of the frame, the method further comprising:
during a binning pass, determining which primitives belong to which tiles of the plurality of tiles,
wherein generating the depth values comprises generating the depth values, during a rendering pass, for pixels of the primitives of the tile that were determined during the binning pass to belong to the tile for which the depth values are being generated.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
reading color and opacity values for the pixels of the tile;
reading the second number of the depth values of the tile; and
warping the image content of the tile based on the read depth values and the read color and opacity values for the pixels of the tile.

### Claim 8

A device for generating image content, the device comprising:
a system memory; and
a graphics processing unit (GPU) including a tile memory, the GPU configured to:
generate depth values for pixels of a tile of a frame;
store a first number of the depth values for the pixels in the tile memory, wherein the tile memory is configured to store image content for the tile of the frame; and
write a second number of depth values stored in the tile memory to the system memory, wherein the second number is less than the first number.

### Claim 9 (depends on 8)

The device of claim 8, wherein to write the second number of the depth values, the GPU is configured to execute a shader to write the second number of the depth values stored in the tile memory to the system memory.

### Claim 10 (depends on 8)

The device of claim 8, wherein to write the second number of depth values, the GPU is configured to write the second number of depth values in response to a drawcall included after drawcalls used to render at least a part of the image content for the tile.

### Claim 11 (depends on 8)

The device of claim 8, wherein the GPU is configured to:
read the second number of depth values as a texture map with a single texture fetch to the tile memory,
wherein to write the second number of depth values comprises writing the second number of depth values based on the read depth values.

### Claim 12 (depends on 8)

The device of claim 8, wherein the GPU is configured to:
generate color or opacity values for the pixels of the tile;
store a third number of the color or opacity values for the pixels of the tile, wherein the third number is greater than the second number; and
write the third number of the color or opacity values for the pixels of the tile.

### Claim 13 (depends on 8)

The device of claim 8, wherein the tile is one of a plurality of tiles of the frame, wherein the GPU is configured to:
during a binning pass, determine which primitives belong to which tiles of the plurality of tiles,
wherein to generate the depth values, the GPU is configured to generate the depth values, during a rendering pass, for pixels of the primitives of the tile that were determined during the binning pass to belong to the tile for which the depth values are being generated.

### Claim 14 (depends on 8)

The device of claim 8, wherein the GPU is configured to:
read color and opacity values for the pixels of the tile;
read the second number of depth values of the tile; and
warp the image content of the tile based on the read depth values and the read color and opacity values for the pixels of the tile.

### Claim 15

A computer-readable storage medium storing instructions that when executed cause a graphics processing unit (GPU) to:
generate depth values for pixels of a tile of a frame;
store a first number of the depth values for the pixels in a tile memory internal to the GPU, wherein the tile memory is configured to store image content for the tile of the frame; and
write a second number of the depth values stored in the tile memory to a system memory, wherein the second number is less than the first number.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein the instructions that cause the GPU to write the second number of the depth values comprise instructions that cause the GPU to execute a shader to write the second number of the depth values stored in the tile memory to the system memory.

### Claim 17 (depends on 15)

The computer-readable storage medium of claim 15, wherein the instructions that cause the GPU to write the second number of the depth values comprises instructions that cause the GPU to write the second number of the depth values in response to a drawcall included after drawcalls used to render at least a part of the image content for the tile.

### Claim 18 (depends on 15)

The computer-readable storage medium of claim 15, further comprising instructions that cause the GPU to:
read the second number of the depth values as a texture map with a single texture fetch to the tile memory, and
wherein the instructions that cause the one or more GPU to write the second number of the depth values comprise instructions that cause the GPU to write the second number of the depth values based on the read depth values.

### Claim 19 (depends on 15)

The computer-readable storage medium of claim 15, further comprising instructions that cause the GPU to:
generate color or opacity values for the pixels of the tile;
store a third number of the color or opacity values for the pixels of the tile, wherein the third number is greater than the second number; and
write the third number of the color or opacity values for the pixels of the tile.

### Claim 20 (depends on 15)

The computer-readable storage medium of claim 15, wherein the tile is one of a plurality of tiles of the frame, the storage medium further comprising instructions that cause the GPU to:
during a binning pass, determine which primitives belong to which tiles of the plurality of tiles,
wherein the instructions that cause the GPU to generate the depth values comprise instructions that cause the GPU to generate the depth values, during a rendering pass, for pixels of the primitives of the tile that were determined during the binning pass to belong to the tile for which the depth values are being generated.

### Claim 21 (depends on 15)

The computer-readable storage medium of claim 15, further comprising instructions that cause the GPU to:
read color and opacity values for the pixels of the tile;
read the second number of the depth values of the tile; and
warp the image content of the tile based on the read depth values and the read color and opacity values for the pixels of the tile.

### Claim 22

A device for generating image content, the device comprising:
a system memory; and
a graphics processing unit (GPU) including a tile memory, wherein the GPU further comprises:
means for generating depth values for pixels of a tile of a frame;
means for storing a first number of the depth values for the pixels in the tile memory, wherein the tile memory is configured to store image content for the tile of the frame; and
means for writing a second number of the depth values stored in the tile memory to a system memory, wherein the second number is less than the first number.

### Claim 23 (depends on 22)

The device of claim 22, wherein the means for writing the second number of the depth values comprises means for executing a shader on the GPU to write the second number of the depth values stored in the tile memory to the system memory.

### Claim 24 (depends on 22)

The device of claim 22, wherein the means for writing the second number of the depth values comprises means for writing the second number of the depth values in response to a drawcall included after drawcalls used to render at least a part of the image content for the tile.

### Claim 25 (depends on 22)

The device of claim 22, further comprising:
means for reading the second number of the depth values as a texture map with a single texture fetch to the tile memory,
wherein the means for writing the second number of the depth values comprises means for writing the second number of the depth values based on the read depth values.

### Claim 26 (depends on 22)

The device of claim 22, further comprising:
means for generating color or opacity values for the pixels of the tile;
means for storing a third number of the color or opacity values for the pixels of the tile, wherein the third number is greater than the second number; and
means for writing the third number of the color or opacity values for the pixels of the tile.

### Claim 27 (depends on 22)

The device of claim 22, wherein the tile is one of a plurality of tiles of the frame, the device further comprising:
means for determining, during a binning pass, which primitives belong to which tiles of the plurality of tiles,
wherein the means for generating the depth values comprises means for generating the depth values, during a rendering pass, for pixels of the primitives of the tile that were determined during the binning pass to belong to the tile for which the depth values are being generated.

### Claim 28 (depends on 22)

The device of claim 22, further comprising:
means for reading color and opacity values for the pixels of the tile;
means for reading the second number of the depth values of the tile; and
means for warping the image content of the tile based on the read depth values and the read color and opacity values for the pixels of the tile.
