System and method for layering using tile-based renderers
First Claim
1. At least one computer-readable storage medium storing an application comprising processor-executable instructions that, when executed by at least one processor, perform operations, the operations comprising:
- configuring a graphics processing unit (GPU) of a computing device, including;
determining whether the GPU is to render graphics using a tile-then-layer approach or a layer-then-tile approach based at least in part on whether graphics for a tile depends on content from any other tile, wherein;
the graphics is organized as a plurality of tiles each having a plurality of layers of content;
the tile-then-layer approach includes rendering the graphics tile-by-tile; and
the layer-then-tile approach includes rendering the graphics layer-by-layer; and
if it is determined that the the GPU is to render the graphics using the tile-then-layer approach;
notifying the GPU that the GPU is to render the graphics tile-by-tile.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for tile-based rendering of content. Content may be rendered in a memory region organized as multiple tiles. In scenarios in which content is generated in layers, for operations that involve compositing image layers, an order in which portions of the image are processed may be selected to reduce the aggregate number of memory accesses times, which in turn may improve the performance of a computer that uses tile-based rendering. An image may be processed such that operations relating to rendering portions of different layers corresponding to the same tile are performed sequentially. Such processing may be used in a computer with a graphics processing unit that supports tile-based rendering, and may be particularly well suited for computers with a slate form factor. An interface to a graphics processing utility within the computer may provide a flag to allow an application to specify whether operations may be reordered.
68 Citations
25 Claims
-
1. At least one computer-readable storage medium storing an application comprising processor-executable instructions that, when executed by at least one processor, perform operations, the operations comprising:
-
configuring a graphics processing unit (GPU) of a computing device, including; determining whether the GPU is to render graphics using a tile-then-layer approach or a layer-then-tile approach based at least in part on whether graphics for a tile depends on content from any other tile, wherein; the graphics is organized as a plurality of tiles each having a plurality of layers of content; the tile-then-layer approach includes rendering the graphics tile-by-tile; and the layer-then-tile approach includes rendering the graphics layer-by-layer; and if it is determined that the the GPU is to render the graphics using the tile-then-layer approach; notifying the GPU that the GPU is to render the graphics tile-by-tile. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for rendering content comprising a plurality of content layers, wherein the content is organized as a plurality of tiles including a first tile and a second tile, the system comprising a graphics processing unit (GPU) having rendering hardware and a GPU memory, wherein the GPU that is configured to:
-
render at least a first portion of the content corresponding to the first tile to produce one or more pixel values; receive an indication of whether the content is to be rendered tile-then-layer or layer-then-tile by the GPU based at least in part on potential dependency of output for one tile on content for another tile, wherein; tile-then-layer rendering includes at least one operation for compositing values for portions for at least two layers associated with a first tile before rendering a second portion of the content corresponding to the second tile; and if the indication indicates that the content is to be rendered tile-then-layer; compositing values for the portions of the at least two layers associated with the first tile before rendering the second portion of the content corresponding to the second tile. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computing device for configuring a graphics processing unit (GPU), the computing device comprising:
a memory and a processor that respectively store and execute instructions, including instructions that; determine a sequence in which the GPU is to render tiles and layers of a graphical image with respect to each other based at least in part on whether content for individual tiles is renderable independent of content for other tiles, wherein the graphical image is to be presented on a display associated with the computing device; and configure the GPU according to the determined sequence. - View Dependent Claims (13, 14, 15, 16)
-
17. A method of rendering graphics for display on a display device associated with a computing device, comprising:
-
receiving, by the computing device, content that is to be rendered for display on the display device associated with the computing device; selecting, by the computing device, whether the received content is to be rendered by a graphics processing unit (GPU) of the computing device through a tile-then-layer process or through a layer-then-tile process based at least in part on whether output for a tile is independent of data for another tile; and rendering, by the GPU of the computing device, the received content for display on the display device associated with the computing device according to the selected process. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification