Fix invalid mip level count check

This commit is contained in:
Ben Frankel 2020-09-07 16:49:06 -07:00
parent 68bf10a3a5
commit 2ee07a2a47
2 changed files with 5 additions and 2 deletions

View File

@ -515,7 +515,10 @@ impl<B: GfxBackend> Device<B> {
let usage = conv::map_texture_usage(desc.usage, aspects); let usage = conv::map_texture_usage(desc.usage, aspects);
let mip_level_count = desc.mip_level_count; let mip_level_count = desc.mip_level_count;
if mip_level_count == 0 && mip_level_count > kind.compute_num_levels() as u32 { if mip_level_count == 0
|| mip_level_count > MAX_MIP_LEVELS
|| mip_level_count > kind.compute_num_levels() as u32
{
return Err(resource::CreateTextureError::InvalidMipLevelCount( return Err(resource::CreateTextureError::InvalidMipLevelCount(
mip_level_count, mip_level_count,
)); ));

View File

@ -239,7 +239,7 @@ pub enum CreateTextureError {
CannotCopyD24Plus, CannotCopyD24Plus,
#[error(transparent)] #[error(transparent)]
InvalidDimension(#[from] TextureDimensionError), InvalidDimension(#[from] TextureDimensionError),
#[error("texture descriptor mip level count ({0}) must be less than `MAX_MIP_LEVELS`")] #[error("texture descriptor mip level count ({0}) is invalid")]
InvalidMipLevelCount(u32), InvalidMipLevelCount(u32),
#[error("Feature {0:?} must be enabled to create a texture of type {1:?}")] #[error("Feature {0:?} must be enabled to create a texture of type {1:?}")]
MissingFeature(wgt::Features, wgt::TextureFormat), MissingFeature(wgt::Features, wgt::TextureFormat),