From c84b6c8bb565b87f8571330e7c0de5b3b8ef7a8c Mon Sep 17 00:00:00 2001 From: castano Date: Mon, 9 Jul 2007 10:31:54 +0000 Subject: [PATCH] Enable support for DXT3 and DXT5 accelerated compressors. --- trunk/src/nvimage/nvtt/dxtlib.cpp | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/trunk/src/nvimage/nvtt/dxtlib.cpp b/trunk/src/nvimage/nvtt/dxtlib.cpp index 8c9f94a..1b87f77 100644 --- a/trunk/src/nvimage/nvtt/dxtlib.cpp +++ b/trunk/src/nvimage/nvtt/dxtlib.cpp @@ -186,15 +186,15 @@ static bool compressMipmap(const Image * image, const OutputOptions & outputOpti } else #endif - if (compressionOptions.useCuda && nv::cuda::isHardwarePresent()) + if (compressionOptions.quality == Quality_Fastest) { - cudaCompressDXT1(image, outputOptions, compressionOptions); + fastCompressDXT1(image, outputOptions); } else { - if (compressionOptions.quality == Quality_Fastest) + if (compressionOptions.useCuda && nv::cuda::isHardwarePresent()) { - fastCompressDXT1(image, outputOptions); + cudaCompressDXT1(image, outputOptions, compressionOptions); } else { @@ -210,7 +210,14 @@ static bool compressMipmap(const Image * image, const OutputOptions & outputOpti } else { - compressDXT3(image, outputOptions, compressionOptions); + if (compressionOptions.useCuda && nv::cuda::isHardwarePresent()) + { + cudaCompressDXT3(image, outputOptions, compressionOptions); + } + else + { + compressDXT3(image, outputOptions, compressionOptions); + } } } else if (compressionOptions.format == Format_DXT5) @@ -221,7 +228,14 @@ static bool compressMipmap(const Image * image, const OutputOptions & outputOpti } else { - compressDXT5(image, outputOptions, compressionOptions); + if (compressionOptions.useCuda && nv::cuda::isHardwarePresent()) + { + cudaCompressDXT5(image, outputOptions, compressionOptions); + } + else + { + compressDXT5(image, outputOptions, compressionOptions); + } } } else if (compressionOptions.format == Format_DXT5n)