diff --git a/Cargo.toml b/Cargo.toml index 48dc529688..fab5e3df54 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ bitflags = "1" fxhash = "0.2" log = "0.4" num-traits = "0.2" -spirv = { package = "spirv_headers", version = "1" } +spirv = { package = "spirv_headers", version = "1.4.2" } glsl = { version = "4", optional = true } [features] diff --git a/src/back/msl.rs b/src/back/msl.rs index 20fe75cb00..bb74984a74 100644 --- a/src/back/msl.rs +++ b/src/back/msl.rs @@ -902,7 +902,7 @@ impl Writer { dim, base_name, access, name )?; } - crate::TypeInner::Sampler => { + crate::TypeInner::Sampler { comparison: _ } => { write!(self.out, "typedef sampler {}", name)?; } } diff --git a/src/back/spv/writer.rs b/src/back/spv/writer.rs index d5a3b70ed4..a81ad7a5e1 100644 --- a/src/back/spv/writer.rs +++ b/src/back/spv/writer.rs @@ -433,7 +433,7 @@ impl Writer { self.lookup_type.insert(id, base); } - crate::TypeInner::Sampler => { + crate::TypeInner::Sampler { comparison: _ } => { instruction = Instruction::new(Op::TypeSampler); instruction.set_result(id); self.lookup_type.insert(id, handle); diff --git a/src/front/glsl/helpers.rs b/src/front/glsl/helpers.rs index 7c88746e33..a2a9c7a736 100644 --- a/src/front/glsl/helpers.rs +++ b/src/front/glsl/helpers.rs @@ -275,7 +275,7 @@ pub fn glsl_to_spirv_type(ty: TypeSpecifierNonArray, types: &mut Arena) -> } if ty_name.0 == "sampler" { - return Some(TypeInner::Sampler); + return Some(TypeInner::Sampler { comparison: false }); //TODO } unimplemented!() } diff --git a/src/front/spv.rs b/src/front/spv.rs index ac4a120714..79fdf83308 100644 --- a/src/front/spv.rs +++ b/src/front/spv.rs @@ -1303,7 +1303,7 @@ impl> Parser { inst.expect(2)?; let id = self.next()?; let decor = self.future_decor.remove(&id).unwrap_or_default(); - let inner = crate::TypeInner::Sampler; + let inner = crate::TypeInner::Sampler { comparison: false }; //TODO! self.lookup_type.insert( id, LookupType { diff --git a/src/lib.rs b/src/lib.rs index 67660c33e9..6dfdee9d0a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -105,7 +105,9 @@ pub enum TypeInner { dim: spirv::Dim, flags: ImageFlags, }, - Sampler, + Sampler { + comparison: bool, + }, } #[derive(Debug, PartialEq)]