Compressonator v4.4 引入 BC1 编码的 AVX-512 支持

首次发布日期:
Denis Levesque's avatar
Denis Levesque

Compressonator v4.4 现已发布!

本次发布的新功能总结如下,但如果您想立即开始尝试,可以在 Compressonator 页面 找到所有下载和文档链接。

Compressonator 核心的 CPU SIMD 支持

通过实现 SIMD 指令,Compressonator 核心中的 BC1 压缩 CPU 性能得到了最高 50% 的提升(具体取决于输入纹理),且质量无损。

SIMD 代码有三个变体,使用不同的指令集扩展(SSE4、AVX2 和 AVX-512)。通过选择运行代码的 CPU 所支持的最现代指令集扩展,会自动选择合适的变体。如果需要,也可以向 Compressonator 核心接口添加一些新函数,以允许手动设置要使用的指令集。

API 新增了五个函数:EnableSSE4()EnableAVX2()EnableAVX512()DisableSIMD()GetEnabledSIMDExtension()。前三个函数允许用户启用指定指令集扩展的代码路径,但前提是 CPU 支持。一次只能启用一个。第四个函数 DisableSIMD() 将关闭所有 SIMD 指令,并恢复到原始代码。最后一个函数允许用户通过返回一个整数来查询当前启用的代码路径,该整数代表启用的 SIMD 扩展(有关更多信息,请查看 cmp_core.h)。如果未进行手动设置,返回值将对应于在当前 CPU 上自动检测到的最新扩展。否则,返回值将是手动设置的值(如果手动设置的指令集受支持)。

未来的版本将致力于将 SIMD 支持扩展到 Compressonator 核心中的其他 BCn 编码器。

Mipmap 生成更新

Compressonator CLI 中新增了一个选项:FilterGamma。该选项允许用户在生成 mipmap 时选择伽马校正级别。这使得 Compressonator CLI 的 mipmap 生成功能更接近 Compressonator GUI,后者已具备此功能。FilterGamma 选项可接受的值范围为 1.0 到 2.6,用法如下:

compressonatorcli -miplevels 5 -FilterGamma 1.6 example.png output.dds

此外,mipmap 生成的停止条件已更新。以前,当宽度高度低于所需大小时,mipmap 生成将停止;现在,只有当宽度高度都低于请求的最小大小时,才会停止。此更新也适用于最小尺寸为 1 的情况,最低 mipmap 级别始终为 1x1。

其他更改

应用程序更新

  • 对 DirectX 9 和 DirectX 10 DLL 文件的依赖已替换为使用 DirectXTex
  • Compressonator CLI 中的静默选项可以正确地禁用除致命错误之外的所有输出。
  • 编辑了文档以修复“GenGPUMipMaps”选项的拼写错误

SDK 更新

  • Compressonator 框架增加了对 16 位 PNG 的支持。
  • 从所有编码器缓冲区类中删除了隐式通道混叠,确保了更一致的行为
  • 通过将初始化数据保留在内存中,而不是在每次调用 CMP_ConvertTexture 后释放,提高了 BC7 编码器的性能
  • 修复了 BC6H 核心着色器的编译错误

构建更新

  • 构建工件的默认位置已更改为“build/bin”文件夹,构建相关脚本已移至“build”文件夹。
  • Compressonator 的构建方式已略有更改,以标准化指向外部依赖项的方式,引入了新的环境变量:QT_DIROPENCV_DIRVULKAN_DIR(有关更多信息,请查看文档)。
  • 已为构建各种配置的 Compressonator SDK 添加了一个新的 CMake 项目,可以在“build/sdk”找到。
  • 将 CMP_TestCore 项目重命名为 CMP_UnitTests,并扩展了单元测试套件

立即下载 Compressonator v4.4

最新版本的 Compressonator 可在 GitHub 上获取。

此外,请查看 Compressonator 文档以开始使用。

Denis Levesque's avatar

Denis Levesque

Denis Levesque 是 AMD 软件工程师,属于开发者工具团队。他目前主要负责 Compressonator。

相关新闻和技术文章

相关视频

© . This site is unofficial and not affiliated with AMD.