Selective rasterization
First Claim
1. A graphics processing unit comprising:
- first circuitry to;
organize pixels, generated in response to execution in a draw call, into tiles;
determine whether a first tile processed after a second tile matches a characteristic of the second tile;
set a bit to indicate if characteristics of the first and second tiles match;
if the first tile matches the second tile based on the bit, forego rendering for the first tile;
if the first tile does not match the prior second tile, based on the bit, render the first tile; and
second circuitry to determine a hash for a third tile and a fourth tile, and if said hashes match, reduce processing of one of said third and fourth tiles.
0 Assignments
0 Petitions
Accused Products
Abstract
According to one embodiment, a given tile, made up of pixels or samples, may be of any shape, including a square shape. These pixels may contain colors, depths, stencil values, and other values. Each tile may be further augmented with a single bit, referred to herein as a render bit. In one embodiment, if the render bit is one, then everything is rendered as usual within the tile. However, if the render bit is zero, then nothing is rasterized to this tile and, correspondingly, depth tests, pixel shading, frame buffer accesses, and multi-sampled anti-aliasing (MSAA) resolves are not done for this tile. In other embodiments, some operations may be done nevertheless, but at least one operation is avoided based on the render bit. Of course, the render bits may be switched such that the bit zero indicates that everything should be rendered and the bit one indicates more limited rendering.
-
Citations
20 Claims
-
1. A graphics processing unit comprising:
-
first circuitry to; organize pixels, generated in response to execution in a draw call, into tiles; determine whether a first tile processed after a second tile matches a characteristic of the second tile; set a bit to indicate if characteristics of the first and second tiles match; if the first tile matches the second tile based on the bit, forego rendering for the first tile; if the first tile does not match the prior second tile, based on the bit, render the first tile; and second circuitry to determine a hash for a third tile and a fourth tile, and if said hashes match, reduce processing of one of said third and fourth tiles. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a graphics processing unit to; organize pixels, generated in response to execution in a draw call into tiles; determine whether a first tile processed after a second tile matches a characteristic of the second tile; set a bit to indicate if characteristics of the first and second tiles match; if the first tile matches the second tile based on the bit, forego rendering for the first tile; if the first tile does not match the prior second tile, based on the bit, render the first tile; determine a hash for a third tile and a fourth tile, and if said hashes match, reduce processing of one of said third and fourth tiles; and a storage coupled to said graphics processing unit. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
organizing pixels, generated in response to execution in a draw call, into tiles; determining whether a first tile processed after a second tile matches a characteristic of the second tile; setting a bit to indicate if characteristics of the first and second tiles match; if the first tile matches the second tile based on the bit, foregoing rendering for the first tile; if the first tile does not match the prior second tile, based on the bit, rendering the first tile; and determining a hash for a third tile and a fourth tile, and if said hashes match, reduce processing of one of said third and fourth tiles. - View Dependent Claims (14, 15)
-
-
16. The method of 13 including calculating a value for each tile based on data values that represent each tile.
-
17. One or more non-transitory computer readable media storing instructions to perform a sequence comprising:
-
organizing pixels, generated in response to execution in a draw call, into tiles; determining whether a first tile processed after a second tile matches a characteristic of the second tile; setting a bit to indicate if characteristics of the first and second tiles match; if the first tile matches the second tile based on the bit, foregoing rendering for the first tile; if the first tile does not match the prior second tile, based on the bit, rendering the first tile; and determining a hash for a third tile and a fourth tile, and if said hashes match, reduce processing of one of said third and fourth tiles. - View Dependent Claims (18, 19)
-
-
20. The method of 17 including calculating a value for each tile based on data values that represent each tile.
Specification