Announcing Compressonator 3.2

The latest version of Compressonator is now available, featuring new BCn codec kernels, framework interfaces, cube maps, and more.

Compressonator is a set of tools to which make it easier for artists and developers to create compressed texture image assets and visualize the quality impact of various compression technologies.  It consists of a GUI application, a command-line application, and an SDK for easy integration into a developer toolchain.

You can grab it now from the Compressonator page.

New Libraries

CMP_Core

This is a single library that contains only BCn encode/decode kernels for a single block format conversions. The library is designed to be a small self-contained, cross-platform, and linkable library for user applications. Any of the BCn codecs can easily be removed for additional memory and size savings.

All block-level functions within the core library are interfaced through a single header file: CMP_Core.h .

The BC7 codec has undergone a number of improvements and has been optimized for performance on the CPU while maintaining quality.

CMP_Framework

This library contains the CMP_Core and adds extra functionalities such as:

  • Advanced Multi-Threading
  • Transformations
  • Block Partitioning
  • File IO Handling

The framework library also contains interfaces to set up a processing pipeline for CPU based codecs or HPC – CPU base high-performance compute codecs.

All functions within the framework library are interfaced through a single header file: CMP_Framework.h .

New Compressonator Libraries

HPC Pipeline

Compressonator CMP_Core Block Compression codecs are designed to build on a variety of compilers such as MSVC, GCC, and OpenCL.  The HPC pipeline enables using the codecs compiled to specific CPU ISA targets within the CMP_Framework library. These new codecs are optimized for overall balanced performance and quality over their v3.1 CPU counterparts. The codecs can also be compiled within an OpenCL framework for additional performance gains with no changes to the sources. A common header file Common_Def.h is provided to handle variable type definitions for CPU and GPU based compilers.

Cube Map Support

A preview version of cube map support is available with this release. Support for RGBA_8888 and RGBA_F16 data types is provided, and additional format support will be available with the next release. MipLevel cube maps are supported, and users can view compressed cube-mapped files in DDS or KTX file formats.

Cube Map Support

New Application Settings

Users can enable processing both CPU (Compressonator SDK) or HPC (CMP_Core CPU ISA optimized) codecs by selecting Encode with under Application Settings.

New Application Settings

The Set Number of Threads setting now supports auto-detection of available CPU threads on the host target, which allows multiple host systems to maximize performance for compression using a single thread setting. Auto Detection is now the default setting.

GUI Real-Time Analysis Tables

A new table view is now provided for users to view test analysis results for performance, PSNR, and SSIM analysis. This view can be used both during and after the processing of image textures. Previously in v3.1, users would have to run Image Difference Views on each processed texture to view PSNR and SSIM results, which ends up being very time consuming for a large number of images. An amalgamated results view is now available for users to collect and review results for processed images.

Enabled using the “Show MSE PSNR SSIM Results” option.
Enabled using the “Show Analysis Results Table” option.
Navin Patel

Navin Patel

Navin Patel is a Senior Member of Technical Staff at AMD, with over 15 years of experience in the design and development of graphics and video software applications/tools and drivers. Currently, he is the chief technical lead of the GPU Open Compressonator tool. Before AMD his professional experience also includes design and development of LSI ASIC, full system integration of Video on Demand services, and industrial automated systems.

Enjoy this blog post? If you found it useful, why not share it with other game developers?

You may also like...

Getting started: our software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

Getting started: development and performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

If slide decks are what you’re after, you’ll find 100+ of our finest presentations here. Plus there’s a handy list of our product manuals!

Developer guides

Browse our developer guides, and find valuable advice on developing with AMD hardware, ray tracing, Vulkan, DirectX, UE4, and lots more.

Words not enough? How about pictures? How about moving pictures? We have some amazing videos to share with you!

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

Product Blogs

Our handy product blogs will help you make good use of our tools, SDKs, and effects, as well as sharing the latest features with new releases.

Publications

Discover our published publications.