TEXTURE DECOMPRESSION TECHNIQUES
A system and method for texture decompression is described. The method comprises receiving a compressed texture block including two or more disjoint subsets of data and decompressing the compressed texture block. The decompressing includes decompressing each of the two or more disjoint subsets in the compressed texture block to form texels. The two or more disjoint subsets include a first disjoint subset having a first set of color endpoints and a first index value for a first texel, and a second disjoint subset having a second set of color endpoints.
1 . A method for performing texture decompression comprising:
receiving a compressed texture block, wherein the compressed texture block includes two or more disjoint subsets, wherein the two or more disjoint subsets include a first disjoint subset having a first set of color endpoints and a first index value for a first texel, and a second disjoint subset having a second set of color endpoints; and
decompressing each of the two or more disjoint subsets to form texels, wherein the decompressing includes:
determining a first texel color for the first texel by interpolating between color endpoints of the first set of color endpoints based on the first index value.
2 . The method of claim 1 , wherein the two or more disjoint subsets have different sizes.
3 . The method of claim 1 , wherein the two or more disjoint subsets have different shapes.
4 . The method of claim 1 , wherein a first portion of the first disjoint subset is separated from a second portion of the first disjoint subset by at least a portion of the second disjoint subset.
5 . The method of claim 1 , wherein a number of texels formed decompressing the first disjoint subset is different than a number of texels formed decompressing the second disjoint subset.
6 . The method of claim 1 , wherein the first disjoint subset further includes an index value for each texel of the first disjoint subset and the second disjoint subset further includes an index value for each texel of the first disjoint subset.
7 . The method of claim 1 , further comprising decompressing a plurality of compressed texture blocks, each of the compressed texture blocks having a different number of disjoint subsets and each of the disjoint subsets having a set of color endpoints and an index value for at least one texel of the subset.
8 . The method of claim 1 , wherein the first disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between color endpoints of the first set of color endpoints based on the second index value.
9 . The method of claim 1 , wherein the second disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between color endpoints of the second set of color endpoints based on the second index value.
10 . The method of claim 1 , further comprising:
applying the texels to a rendered surface for display; and
displaying the rendered surface on a monitor.
11 . A graphics processing system comprising:
a graphics processor unit including at least one rendering pipeline; and
a memory,
wherein the graphics processor unit is adapted to:
receive a compressed texture block, wherein the compressed texture block includes two or more disjoint subsets, wherein the two or more disjoint subsets include a first disjoint subset having a first set of color endpoints and a first index value for a first texel, and a second disjoint subset having a second set of color endpoints; and
decompress each of the two or more disjoint subsets to form texels,
wherein the decompressing includes:
determining a first texel color for the first texel by interpolating between color endpoints of the first set of color endpoints based on the first index value.
12 . The system of claim 11 , wherein the two or more disjoint subsets have different sizes.
13 . The system of claim 11 , wherein the two or more disjoint subsets have different shapes.
14 . The system of claim 11 , wherein a first portion of the first disjoint subset is separated from a second portion of the first disjoint subset by at least a portion of the second disjoint subset.
15 . The system of claim 11 , wherein a number of texels formed decompressing the first disjoint subset is different than a number of texels formed decompressing the second disjoint subset.
16 . The system of claim 11 , wherein the first disjoint subset further includes an index value for each texel of the first disjoint subset and the second disjoint subset further includes an index value for each texel of the first disjoint subset.
17 . The system of claim 11 , wherein the graphics processor is further adapted to decompress a plurality of compressed texture blocks, each of the compressed texture blocks having a different number of disjoint subsets and each of the disjoint subsets having a set of color endpoints and an index value for at least one texel of the subset.
18 . The system of claim 11 , wherein the first disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between color endpoints of the first set of color endpoints based on the second index value.
19 . The system of claim 11 , wherein the second disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between color endpoints of the second set of color endpoints based on the second index value.
20 . The system of claim 11 , further comprising a monitor, wherein the graphics processor unit is further adapted to:
apply the texels to a rendered surface for display; and
output the rendered surface on the monitor.