
# Objective - add support for alternate zstd backend through `zstd` for faster decompression ## Solution - make existing `zstd` feature only specify that support is required, disambiguate which backend to use via two other features `zstd_native` and `zstd_rust`. - Similar to the approach taken by #18411, but we keep current behavior by defaulting to the rust implementation because its safer, and isolate this change. NOTE: the default feature-set may seem to not currently require `zstd`, but it does, it is enabled transitively by the `tonemapping_luts` feature, which is a default feature. Thus this does not add default features. ## Testing - Cargo clippy on both feature combinations
54 lines
1.5 KiB
Rust
54 lines
1.5 KiB
Rust
#![expect(missing_docs, reason = "Not all docs are written yet, see #3492.")]
|
|
|
|
extern crate alloc;
|
|
|
|
pub mod prelude {
|
|
pub use crate::{
|
|
dynamic_texture_atlas_builder::DynamicTextureAtlasBuilder,
|
|
texture_atlas::{TextureAtlas, TextureAtlasLayout, TextureAtlasSources},
|
|
BevyDefault as _, Image, ImageFormat, TextureAtlasBuilder, TextureError,
|
|
};
|
|
}
|
|
|
|
#[cfg(all(feature = "zstd", not(feature = "zstd_rust"), not(feature = "zstd_c")))]
|
|
compile_error!(
|
|
"Choosing a zstd backend is required for zstd support. Please enable either the \"zstd_rust\" or the \"zstd_c\" feature."
|
|
);
|
|
|
|
mod image;
|
|
pub use self::image::*;
|
|
#[cfg(feature = "basis-universal")]
|
|
mod basis;
|
|
#[cfg(feature = "compressed_image_saver")]
|
|
mod compressed_image_saver;
|
|
#[cfg(feature = "dds")]
|
|
mod dds;
|
|
mod dynamic_texture_atlas_builder;
|
|
#[cfg(feature = "exr")]
|
|
mod exr_texture_loader;
|
|
#[cfg(feature = "hdr")]
|
|
mod hdr_texture_loader;
|
|
mod image_loader;
|
|
#[cfg(feature = "ktx2")]
|
|
mod ktx2;
|
|
mod texture_atlas;
|
|
mod texture_atlas_builder;
|
|
|
|
#[cfg(feature = "compressed_image_saver")]
|
|
pub use compressed_image_saver::*;
|
|
#[cfg(feature = "dds")]
|
|
pub use dds::*;
|
|
pub use dynamic_texture_atlas_builder::*;
|
|
#[cfg(feature = "exr")]
|
|
pub use exr_texture_loader::*;
|
|
#[cfg(feature = "hdr")]
|
|
pub use hdr_texture_loader::*;
|
|
pub use image_loader::*;
|
|
#[cfg(feature = "ktx2")]
|
|
pub use ktx2::*;
|
|
pub use texture_atlas::*;
|
|
pub use texture_atlas_builder::*;
|
|
|
|
pub(crate) mod image_texture_conversion;
|
|
pub use image_texture_conversion::IntoDynamicImageError;
|