diff --git a/crates/bevy_render/Cargo.toml b/crates/bevy_render/Cargo.toml index 3dcb81f1d8500..9db4bbe1f13e0 100644 --- a/crates/bevy_render/Cargo.toml +++ b/crates/bevy_render/Cargo.toml @@ -56,4 +56,4 @@ dds = ["image/dds"] tga = ["image/tga"] jpeg = ["image/jpeg"] bmp = ["image/bmp"] -webp = ["webp_lib"] +webp = ["image/webp", "webp_lib"] diff --git a/crates/bevy_render/src/lib.rs b/crates/bevy_render/src/lib.rs index e26be98280c1c..ed40faca99b19 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -63,7 +63,8 @@ use texture::HdrTextureLoader; feature = "dds", feature = "tga", feature = "jpeg", - feature = "bmp" + feature = "bmp", + feature = "webp" ))] use texture::ImageTextureLoader; @@ -108,7 +109,8 @@ impl Plugin for RenderPlugin { feature = "dds", feature = "tga", feature = "jpeg", - feature = "bmp" + feature = "bmp", + feature = "webp" ))] { app.init_asset_loader::(); diff --git a/crates/bevy_render/src/texture/texture.rs b/crates/bevy_render/src/texture/texture.rs index 1193d68a43f4f..9bd8080745265 100644 --- a/crates/bevy_render/src/texture/texture.rs +++ b/crates/bevy_render/src/texture/texture.rs @@ -230,6 +230,7 @@ impl Texture { "image/jpeg" => Ok(image::ImageFormat::Jpeg), "image/bmp" => Ok(image::ImageFormat::Bmp), "image/x-bmp" => Ok(image::ImageFormat::Bmp), + #[cfg(feature = "webp")] "image/webp" => Ok(image::ImageFormat::WebP), _ => Err(TextureError::InvalidImageMimeType(mime_type.to_string())), }, @@ -244,6 +245,7 @@ impl Texture { // cases. let dyn_img = match format { + #[cfg(feature = "webp")] image::ImageFormat::WebP => webp_lib::Decoder::new(buffer) .decode() .ok_or_else(|| {