Comparison sampler API (#66)

This commit is contained in:
Dzmitry Malyshau
2020-06-16 14:55:40 -04:00
committed by GitHub
parent 82573b288b
commit 89d2afa11b
6 changed files with 8 additions and 6 deletions

View File

@@ -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]

View File

@@ -902,7 +902,7 @@ impl<W: Write> Writer<W> {
dim, base_name, access, name
)?;
}
crate::TypeInner::Sampler => {
crate::TypeInner::Sampler { comparison: _ } => {
write!(self.out, "typedef sampler {}", name)?;
}
}

View File

@@ -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);

View File

@@ -275,7 +275,7 @@ pub fn glsl_to_spirv_type(ty: TypeSpecifierNonArray, types: &mut Arena<Type>) ->
}
if ty_name.0 == "sampler" {
return Some(TypeInner::Sampler);
return Some(TypeInner::Sampler { comparison: false }); //TODO
}
unimplemented!()
}

View File

@@ -1303,7 +1303,7 @@ impl<I: Iterator<Item = u32>> Parser<I> {
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 {

View File

@@ -105,7 +105,9 @@ pub enum TypeInner {
dim: spirv::Dim,
flags: ImageFlags,
},
Sampler,
Sampler {
comparison: bool,
},
}
#[derive(Debug, PartialEq)]