Patent Document ID: 9466090
Application ID: 13922404
Patent Status: 1

Claim One:
1. A computer-implemented method for providing compression in graphics rendering comprising: determining, via a graphics processing unit comprising a graphics data compression module, a plurality of color values associated with individual pixels of a tile of pixels; generating, via the graphics data compression module of the graphics processing unit, a subset of the plurality of color values, wherein the subset of the plurality of color values is generated so as to include only distinct color values without duplication from the plurality of color values associated with the individual pixels across the entire tile of pixels; associating, via the graphics data compression module of the graphics processing unit, an index value with each color value of the subset of the plurality of color values so that each non-duplicative distinct color value is associated with a corresponding non-duplicative distinct index value; determining, via the graphics data compression module of the graphics processing unit, for each of the individual pixels across the entire tile of pixels, an associated pixel index value to generate a plurality of pixel index values associated with the individual pixels of the tile of pixels; storing, in memory, graphics data comprising the subset of the plurality of color values, the associated index values, and the plurality of pixel index values; determining, via the graphics data compression module of the graphics processing unit, a number of bits for the graphics data associated with the subset of the plurality of color values, the associated index values, and the plurality of pixel index values; determining, via the graphics data compression module of the graphics processing unit, a bit budget, wherein the bit budget comprises one of a plurality of available bit budgets including a tile-based bit budget component based at least in part on the number of bits for the graphics data associated with the tile and a system-based bit budget component based at least in part on a memory bandwidth limitation associated with the system; comparing, via the graphics data compression module of the graphics processing unit, the number of bits for the graphics data associated with the subset of the plurality of color values, the associated index values, and the plurality of pixel index values with the bit budget, and if the number of bits for the graphics data associated with the subset of the plurality of color values, the associated index values, and the plurality of pixel index values is less than or equal to the bit budget, storing, in memory, the graphics data associated with the subset of the plurality of color values, the associated index values, and the plurality of pixel index values; and if the number of bits for the graphics data associated with the subset of the plurality of color values, the associated index values, and the plurality of pixel index values is greater than the bit budget, storing, in memory, second graphics data comprising the plurality of color values associated with the individual pixels of the tile of pixels.