include buffer range when hashing RenderResourceAssignments
This commit is contained in:
parent
fc4160ea41
commit
8803bcd92e
@ -28,6 +28,27 @@ impl RenderResourceAssignment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Hash for RenderResourceAssignment {
|
||||||
|
fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
|
||||||
|
match self {
|
||||||
|
RenderResourceAssignment::Buffer {
|
||||||
|
resource,
|
||||||
|
range,
|
||||||
|
dynamic_index: _, // dynamic_index is not a part of the binding
|
||||||
|
} => {
|
||||||
|
resource.hash(state);
|
||||||
|
range.hash(state);
|
||||||
|
}
|
||||||
|
RenderResourceAssignment::Texture(resource) => {
|
||||||
|
resource.hash(state);
|
||||||
|
}
|
||||||
|
RenderResourceAssignment::Sampler(resource) => {
|
||||||
|
resource.hash(state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Eq, PartialEq, Debug)]
|
#[derive(Eq, PartialEq, Debug)]
|
||||||
pub enum RenderResourceSetStatus {
|
pub enum RenderResourceSetStatus {
|
||||||
Changed(RenderResourceSetId),
|
Changed(RenderResourceSetId),
|
||||||
|
@ -46,8 +46,7 @@ impl RenderResourceSetBuilder {
|
|||||||
self.dynamic_uniform_indices.push(dynamic_index);
|
self.dynamic_uniform_indices.push(dynamic_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
let resource = assignment.get_resource();
|
assignment.hash(&mut self.hasher);
|
||||||
resource.hash(&mut self.hasher);
|
|
||||||
self.indexed_assignments
|
self.indexed_assignments
|
||||||
.push(IndexedRenderResourceAssignment { index, assignment });
|
.push(IndexedRenderResourceAssignment { index, assignment });
|
||||||
self
|
self
|
||||||
|
Loading…
Reference in New Issue
Block a user