//! The one seam where the carried wgpu majors disagree on a call signature.
//!
//! wgpu 30 made the texture tracker's initial state an explicit parameter of
//! `Device::create_texture_from_hal`; wgpu 28/29 hardcoded
//! `TextureUses::UNINITIALIZED` internally. wgpu 30 makes the imported
//! resource's state explicit, so each import path supplies the state it has
//! established at the HAL boundary. Routing the version split through here
//! keeps 28/29 behavior intact while making the 30 contract visible at every
//! import site.
/// Wrap an already-created HAL texture in a `wgpu::Texture`, identically
/// across the carried wgpu majors.
///
/// # Safety
///
/// Same contract as `wgpu::Device::create_texture_from_hal`: `hal_texture`
/// must come from this device, match `desc`, and be initialized. On wgpu 30,
/// `initial_state` must match the resource's actual backend state.
pub unsafe