Selectively merging partially-covered tiles to perform hierarchical z-culling
US-2015109293-A1 · Apr 23, 2015 · US
US2016148339A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016148339-A1 |
| Application number | US-201414549430-A |
| Country | US |
| Kind code | A1 |
| Filing date | Nov 20, 2014 |
| Priority date | Nov 20, 2014 |
| Publication date | May 26, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An apparatus and method are described for the frame-to-frame coherency algorithm for sort-last architecture. In one embodiment of the invention, if a tile of pixels is covered completely by one triangle from a static draw call in one frame, then that tile is marked with that draw call's identifier. For the next frame, if the same static draw call is drawn, the same tile will be visited, and if the draw call's fragment passes for all pixels, it indicates that tile will contain exactly the same pixel color values as the previous frame. Hence, there is no requirement to run the pixel shader for the tile of pixels, and the color values of the tile can instead be reused from the previous frame.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: storing an identifier associated with a tile of pixels; determining whether the tile of pixels is covered completely by a first static draw call in a first frame; and setting the identifier associated with the tile of pixels to an identifier associated with the first static draw call in response to a determination that the tile of pixels is covered completely by the triangle from the first static draw call in the first frame. 2 . The method of claim 1 , wherein determining whether the tile of pixels is covered completely by the first static draw call in the first frame comprises determining whether the tile of pixels is covered completely by a triangle from the first static draw call in the first frame. 3 . The method of claim 1 , further comprising: determining whether all fragments of the first static draw call pass a depth test; and setting the identifier associated with the tile of pixels to the identifier associated with the first static draw call in response to the determination that the tile of pixels is covered completely by the first static draw call in the first frame and a determination that all fragments of the first static draw call pass the depth test. 4 . The method of claim 3 , further comprising: determining, in a second frame, whether an identifier of a second static draw call matches the identifier associated with the tile of pixels; and reusing pixel color values of the tile of pixels in the first frame for the pixel color values of the tile of pixels in the second frame. 5 . The method of claim 4 , wherein the identifier associated with the tile of pixels comprises a N-bit number, and wherein the N-bit number comprises one bit combination to indicate that reusing the pixel color values for the tile of pixels in the first frame for the pixel color values for the tile of pixels in the second frame is not possible. 6 . The method of claim 5 , wherein the one bit combination is 2 N −1. 7 . The method of claim 4 , wherein the first static draw call and the second static draw call have one or more of the same input, state, uniform, texture, geometry, and state vector. 8 . The method of claim 3 , wherein the first static draw call and the second static draw call are marked by a user. 9 . At least one computer readable storage medium comprising a set of instructions which, when executed by a computing device, cause the computing device to: initializing a coverage mask comprising a plurality of bits, each bit associated with a respective one of a plurality of samples of a tile; for each of one or more triangles of a first static draw call in a first frame, setting the bit associated with the respective one sample when the respective one sample has been overwritten; and setting an identifier of the tile to an identifier of the first static draw call when all bits of the coverage mask have been set. 10 . The medium of claim 9 , wherein the coverage mask is stored in a cache comprising a plurality of cache lines. 11 . The medium of claim 9 , wherein an eviction policy of the cache comprises evicting a least recently used cache line or evict a cache line comprising a coverage mask with fewest number of set bits. 12 . The medium of claim 9 , further comprising: determining whether all samples of the tile call pass a depth test; and setting the identifier of the tile to an identifier of the first static draw call when all bits of the coverage mask have been set and when all samples of the tile call pass the depth test. 13 . The medium of claim 12 , further comprising: determining, in a second frame, whether an identifier of a second static draw call matches the identifier of the tile; and reusing pixel color values of the tile in the first frame for the pixel color values of the tile in the second frame. 14 . The medium of claim 12 , wherein the identifier of the tile comprises a N-bit number, and wherein the N-bit number comprises one bit combination to indicate that reusing pixel color values of the tile in the first frame for the pixel color values of the tile in the second frame is not possible. 15 . The medium of claim 14 , wherein the one bit combination is 2 N −1. 16 . The medium of claim 13 , wherein the first static draw call and the second static draw call have one or more of the same input, state, uniform, texture, geometry, and state vector. 17 . The medium of claim 13 , wherein the first static draw call and the second static draw call are marked by a user. 18 . An apparatus comprising: a graphics processing engine to: store an identifier associated with a tile of pixels; determine whether the tile of pixels is covered completely by a first static draw call in a first frame; and set the identifier associated with the tile of pixels to an identifier associated with the first static draw call in response to a determination that the tile of pixels is covered completely by the first static draw call in the first frame. 19 . The apparatus of claim 18 , wherein the graphics processing engine to determine whether the tile of pixels is covered completely by the first static draw call in the first frame is to determine whether the tile of pixels is covered completely by a triangle from the first static draw call in the first frame. 20 . The apparatus of claim 18 , wherein the graphics processing engine is further to: determine whether all fragments of the first static draw call pass a depth test; and set the identifier associated with the tile of pixels to the identifier associated with the first static draw call in response to the determination that the tile of pixels is covered completely by the first static draw call in the first frame and a determination that all fragments of the first static draw call pass the depth test. 21 . The apparatus of claim 19 , wherein the graphics processing engine is further to: determine, in a second frame, whether an identifier of a second static draw call matches the identifier associated with the tile of pixels; and reuse pixel color values of the tile of pixels in the first frame for the pixel color values of the tile of pixels in the second frame. 22 . The apparatus of claim 18 , wherein the identifier of the tile comprises a N-bit number, and wherein the N-bit number comprises one bit combination to indicate that reusing pixel color values of the tile of pixels in the first frame for the pixel color values of the tile of pixels in the second frame is not possible.
Related publications grouped by family.
Answers are generated from the same data shown on this page.