Selective Rasterization
First Claim
1. A graphics processing unit comprising:
- circuitry to;
organize pixels, generated in response to execution of a draw call, into tiles; and
develop identification values for a first and a second tile using position information from the draw call;
a rendering device to;
render the second tile;
check the identification value for the first tile after rendering the position information to determine whether the identification value of the first tile matches the identification value of the rendered second tile;
if the first tile matches the second tile, forego at least part of rendering for the first tile; and
the graphics processing unit to render the first tile completely if the first tile does not match the identification value of the prior second tile.
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.
18 Citations
22 Claims
-
1. A graphics processing unit comprising:
-
circuitry to; organize pixels, generated in response to execution of a draw call, into tiles; and develop identification values for a first and a second tile using position information from the draw call; a rendering device to; render the second tile; check the identification value for the first tile after rendering the position information to determine whether the identification value of the first tile matches the identification value of the rendered second tile; if the first tile matches the second tile, forego at least part of rendering for the first tile; and the graphics processing unit to render the first tile completely if the first tile does not match the identification value of the prior second tile. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a graphics processing unit to; organize pixels generated in response to execution of a draw call into tiles; develop identification values for a first and second tile using a position part of the draw call; render the second tile; check the identification value for the first tile after rendering the position part to determine whether the identification value of the first tile matches the identification value of the rendered second tile; if the first tile matches the second tile, forego at least part of rendering for the first tile; render the first tile if the first tile does not match the identification value of the prior second tile; 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 of a draw call, into tiles; developing identification values for a first and a second tile using a position information of the draw cell for the first tile; rendering the second tile; checking the identification value for the first tile after rendering the position part to determine whether the identification value of the first tile matches the identification value of the rendered second tile; if the first tile matches the second tile, foregoing at least part of rendering for the first tile; and rendering the first tile completely if the first tile does not match the identification value of the prior second tile. - View Dependent Claims (14, 15)
-
-
16. One or more non-transitory computer readable media storing instructions to perform a sequence comprising:
-
organizing pixels, generated in response to execution of a draw call, into tiles; developing identification values for a first and a second tile using a position information of the draw cell for the first tile; rendering the second tile; checking the identification value for the first tile after rendering the position part to determine whether the identification value of the first tile matches the identification value of the rendered second tile; if the first tile matches the second tile, foregoing at least part of rendering for the first tile; and rendering device to render the first tile completely if the first tile does not match the identification value of the prior second tile. - View Dependent Claims (17, 18)
-
-
19. An apparatus comprising:
-
means for organizing pixels, generated in response to execution of a draw call into tiles, developing identification values for a first and second tile using a position information of the draw call for the first tile; means for rending the second tile; means for checking the identification value for the first tile after rendering the position part to determine whether the identification value of the first tile matches the identification value of the rendered second tile, and if the first tile matches the second tile, forego at least part of rendering for the first tile; means for rendering the first tile completely if the first tile does not match the identification value of the rendered second tile; means for foregoing at least part of rendering for the first tile if the first tile matches the second tile; and means for rendering the first tile completely if the first tile does not match the identification value of the prior second tile. - View Dependent Claims (20, 21, 22)
-
Specification