[Mesa-dev] [PATCH 0/6] Add support for BPTC texture compression

Matt Turner mattst88 at gmail.com
Wed Jul 23 19:41:16 PDT 2014


On Wed, Jul 23, 2014 at 3:16 PM, Ian Romanick <idr at freedesktop.org> wrote:
> On 07/22/2014 12:09 PM, Neil Roberts wrote:
>> Here's a first attempt at a patch series to implement BPTC texture
>> compression in the i965 driver on Gen>=7.
>>
>> Getting it to work on the hardware is pretty trivial as it's just a
>> case of adding some new Mesa format enums and then plugging them
>> together with the right Intel surface type. However GL requires that
>> you are able to get the library to compress textures on the fly so we
>> need a compressor too. I think for BPTC it doesn't really make much
>> sense to actually use this because it takes a very long time to search
>> the entire space and compress an image properly. For example the
>> NVidia compressor takes in the order of an hour for a full-screen
>> image. Instead I've just done the minimal work needed to get something
>> that gives vaguely passable results.
>
> Is that NVIDIA's off-line compression tool, or is that the compressor in
> the driver?  A brute-force compressor will be very, very slow for BPTC.
>  There are other approaches that are much faster without sacrificing
> very much quality.

I suggested http://squish.paradice-insight.us/ which appears to be
down now. It has a (MIT licensed) BC7 compressor and no free BC6H
compressor. I suggested using it as an external dependency and
contributing a BC6H compressor back.

I think the github repo is https://github.com/Ethatron/squish-ccr

I was thinking one of the cool things we might be able to do a ETC2 ->
BC7 transcode on platforms without ETC2 hardware decompression. We
won't be able to do that without a good compressor.


More information about the mesa-dev mailing list