diff --git a/src/back/spv/instructions.rs b/src/back/spv/instructions.rs index a05e92ae2d..ac738dfa6e 100644 --- a/src/back/spv/instructions.rs +++ b/src/back/spv/instructions.rs @@ -919,3 +919,15 @@ impl From for spirv::ImageFormat { } } } + +impl From for spirv::Dim { + fn from(dim: crate::ImageDimension) -> Self { + use crate::ImageDimension as Id; + match dim { + Id::D1 => Self::Dim1D, + Id::D2 => Self::Dim2D, + Id::D3 => Self::Dim3D, + Id::Cube => Self::DimCube, + } + } +} diff --git a/src/back/spv/mod.rs b/src/back/spv/mod.rs index 74eb2a489d..b06db365ca 100644 --- a/src/back/spv/mod.rs +++ b/src/back/spv/mod.rs @@ -153,15 +153,6 @@ impl Function { } } -fn map_dim(dim: crate::ImageDimension) -> spirv::Dim { - match dim { - crate::ImageDimension::D1 => spirv::Dim::Dim1D, - crate::ImageDimension::D2 => spirv::Dim::Dim2D, - crate::ImageDimension::D3 => spirv::Dim::Dim3D, - crate::ImageDimension::Cube => spirv::Dim::DimCube, - } -} - /// Characteristics of a SPIR-V `OpTypeImage` type. /// /// SPIR-V requires non-composite types to be unique, including images. Since we @@ -198,7 +189,7 @@ impl LocalImageType { flags }; - let dim = map_dim(dim); + let dim = spirv::Dim::from(dim); match class { crate::ImageClass::Sampled { kind, multi } => LocalImageType {