Controlling multi-pass rendering sequences in a cache tiling architecture

US10535114B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10535114-B2
Application numberUS-201514829617-A
CountryUS
Kind codeB2
Filing dateAug 18, 2015
Priority dateAug 18, 2015
Publication dateJan 14, 2020
Grant dateJan 14, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment of the present invention a driver configures a graphics pipeline implemented in a cache tiling architecture to perform dynamically-defined multi-pass rendering sequences. In operation, based on sequence-specific configuration data, the driver determines an optimized tile size and, for each pixel in each pass, the set of pixels in each previous pass that influence the processing of the pixel. The driver then configures the graphics pipeline to perform per-tile rendering operations in a region that is translated by a pass-specific offset backward—vertically and/or horizontally—along a tiled caching traversal line. Notably, the offset ensures that the required pixel data from previous passes is available. The driver further configures the graphics pipeline to store the rendered data in cache lines. Advantageously, the disclosed approach exploits the efficiencies inherent in cache tiling architecture while honoring highly configurable data dependencies between passes in multi-pass rendering sequences.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for performing a multi-pass rendering sequence in a tile-based architecture, the method comprising: calculating a tile size for a current pass through a graphics processing pipeline based at least on algorithmic dependencies between the current pass and one or more previous passes through the graphics processing pipeline, wherein a given generation region is processed by the graphics processing pipeline in each pass; calculating a set of first generation offsets for the current pass based on a first subset of the algorithmic dependencies; determining a first generation region for the current pass based on the tile size and the set of first generation offsets; and processing the first generation region for the current pass by: configuring the graphics processing pipeline to generate first graphics data for a first set of pixels included in the first generation region, and configuring the graphics processing pipeline to store the first graphics data in a first set of cache lines included in a cache memory. 2. The computer-implemented method of claim 1 , further comprising: calculating a set of first invalidation offsets for the current pass based on a second subset of the algorithmic dependencies; determining a first invalidation region for the current pass based on the first generation region and the set of first invalidation offsets; and configuring the graphics processing pipeline to invalidate a second set of cache lines that are associated with the first invalidation region and included in the cache memory. 3. The computer-implemented method of claim 2 , further comprising: configuring the graphics processing pipeline to partition a screen space into a plurality of tiles based on the tile size for the current pass, wherein a first default region is associated with a first tile; and wherein determining the first invalidation region for the current pass comprises offsetting the first default region in a backward direction with respect to a traversal line based on the set of first invalidation offsets for the current pass. 4. The computer-implemented method of claim 1 , further comprising: configuring the graphics processing pipeline to partition a screen space into a plurality of tiles based on the tile size for the current pass, wherein a first default region is associated with a first tile; and wherein determining the first generation region for the current pass comprises offsetting the first default region in a backward direction with respect to a traversal line based on the set of first generation offsets for the current pass. 5. The computer-implemented method of claim 1 , wherein the algorithmic dependencies comprise a first mapping between pixels processed during a first pass and pixels processed during a second pass, wherein at least one of the first pass and the second pass are included in the one or more previous passes. 6. The computer-implemented method of claim 5 , wherein the algorithmic dependencies further comprise a second mapping between the pixels processed during the second pass and pixels processed during a third pass of the graphics processing pipeline. 7. The computer-implemented method of claim 6 , wherein the first mapping is different than the second mapping. 8. The computer-implemented method of claim 6 , wherein the algorithmic dependencies further comprise a third mapping between the pixels processed during the first pass and the pixels processed during the third pass. 9. One or more non-transitory, computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform a multi-pass rendering sequence in a tile-based architecture, by performing the steps of: calculating a tile size for a current pass through a graphics processing pipeline based at least on algorithmic dependencies between the current pass and one or more previous passes through the graphics processing pipeline, wherein a given generation region is processed by the graphics processing pipeline in each pass; calculating a set of first generation offsets for the current pass based on a first subset of the algorithmic dependencies; determining a first generation region for the current pass based on the tile size and the set of first generation offsets; and processing the first generation region for the current pass by: configuring the graphics processing pipeline to generate first graphics data for a first set of pixels included in the first generation region, and configuring the graphics processing pipeline to store the first graphics data in a first set of cache lines included in a cache memory. 10. The one or more non-transitory, computer-readable storage media of claim 9 , further including instructions that, when executed by the one or more processors, cause the one or more processors to further perform the steps of: calculating a set of first invalidation offsets for the current pass based on a second subset of the algorithmic dependencies; determining a first invalidation region for the current pass based on the first generation region and the set of first invalidation offsets; and configuring the graphics processing pipeline to invalidate a second set of cache lines that are associated with the first invalidation region and included in the cache memory. 11. The one or more non-transitory, computer-readable storage media of claim 10 , further including instructions that, when executed by the one or more processors, cause the one or more processors to further perform the step of: configuring the graphics processing pipeline to partition a screen space into a plurality of tiles based on the tile size for the current pass, wherein a first default region is associated with a first tile; and wherein determining the first invalidation region for the current pass comprises offsetting the first default region in a backward direction with respect to a traversal line based on the set of first invalidation offsets for the current pass. 12. The one or more non-transitory, computer-readable storage media of claim 9 , further including instructions that, when executed by the one or more processors, cause the one or more processors to further perform the step of: configuring the graphics processing pipeline to partition a screen space into a plurality of tiles based on the tile size for the current pass, wherein a first default region is associated with a first tile; and wherein determining the first generation region for the current pass comprises offsetting the first default region in a backward direction with respect to a traversal line based on the set of first generation offsets for the current pass. 13. The one or more non-transitory, computer-readable storage media of claim 12 , wherein the set of first generation offsets for the current pass comprises: a horizontal offset; and a vertical offset that is not equal to the horizontal offset. 14. The one or more non-transitory, computer-readable storage media of claim 12 , wherein the set of first generation offsets for the current pass comprises at least one of: a first filter width; and a first filter height. 15. The one or more non-transitory, computer-readable storage media of claim 9 , wherein the algorithmic dependencies comprise a first mapping between pixels processed during a first pass and pixels processed during a second pass, wherein at least one of the first pass and the second pass are included in the one or more previous passes. 16. The one or more non-transitory, co

Assignees

Inventors

Classifications

  • Display of multiple viewports · CPC title

  • Graphics controllers · CPC title

  • G06T1/60Primary

    Memory management · CPC title

  • Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title

  • Use of a protocol of communication by packets in interfaces along the display data pipeline · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10535114B2 cover?
In one embodiment of the present invention a driver configures a graphics pipeline implemented in a cache tiling architecture to perform dynamically-defined multi-pass rendering sequences. In operation, based on sequence-specific configuration data, the driver determines an optimized tile size and, for each pixel in each pass, the set of pixels in each previous pass that influence the processin…
Who is the assignee on this patent?
Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 14 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).