Texture block compression using WGPU compute shader.
  • Rust 70.3%
  • WGSL 29.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-09 16:58:11 +02:00
compressor Target WGPU 29 2026-03-19 19:37:56 +01:00
src Fix BC7 output on RADV 2026-06-09 16:56:06 +02:00
tests Target WGPU 29 2026-03-19 19:37:56 +01:00
.gitignore Add .gitignore 2025-01-20 17:55:32 +01:00
Cargo.toml Release version 0.9.1 2026-06-09 16:58:11 +02:00
CHANGELOG.md Release version 0.9.1 2026-06-09 16:58:11 +02:00
LICENSE Rework project structure 2025-01-11 16:17:47 +01:00
README.md Add badges 2025-01-20 12:28:14 +01:00
rustfmt.toml Rework project structure 2025-01-11 16:17:47 +01:00

block_compression

Crate API

Texture block compression using WGPU compute shader. The shaders are a port of Intel's ISPC Texture Compressor's kernel to WGSL compute shader.

Tested with the following backends:

  • DX12
  • Metal
  • Vulkan

Supported block compressions

Currently supported block compressions are:

  • BC1
  • BC2
  • BC3
  • BC4
  • BC5
  • BC6H
  • BC7

DX12 pipeline creation

The pipeline creation for BC7 and especially BC6H takes a long time under DX12. The DXC compiler seems to take a very long time to compile the shader. For this reason we moved them behind features, which are included in the default features.

License

This project is licensed under the MIT license.