From e36b26c2263043a9389fd080abaaf4cd3f2699bb Mon Sep 17 00:00:00 2001 From: "Victor \"multun\" Collod" Date: Sun, 16 Aug 2020 03:12:30 -0700 Subject: [PATCH] render: fix RenderResourceBinding PartialEq impl --- .../render_resource_bindings.rs | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/crates/bevy_render/src/renderer/render_resource/render_resource_bindings.rs b/crates/bevy_render/src/renderer/render_resource/render_resource_bindings.rs index 52423fa806..882e28316c 100644 --- a/crates/bevy_render/src/renderer/render_resource/render_resource_bindings.rs +++ b/crates/bevy_render/src/renderer/render_resource/render_resource_bindings.rs @@ -11,7 +11,7 @@ use std::{ }; use uuid::Uuid; -#[derive(Clone, Eq, PartialEq, Debug)] +#[derive(Clone, Eq, Debug)] pub enum RenderResourceBinding { Buffer { buffer: BufferId, @@ -48,6 +48,34 @@ impl RenderResourceBinding { } } +impl PartialEq for RenderResourceBinding { + fn eq(&self, other: &Self) -> bool { + match (self, other) { + ( + RenderResourceBinding::Buffer { + buffer: self_buffer, + range: self_range, + dynamic_index: _, + }, + RenderResourceBinding::Buffer { + buffer: other_buffer, + range: other_range, + dynamic_index: _, + }, + ) => self_buffer == other_buffer && self_range == other_range, + ( + RenderResourceBinding::Texture(self_texture), + RenderResourceBinding::Texture(other_texture), + ) => RenderResourceId::from(*self_texture) == RenderResourceId::from(*other_texture), + ( + RenderResourceBinding::Sampler(self_sampler), + RenderResourceBinding::Sampler(other_sampler), + ) => RenderResourceId::from(*self_sampler) == RenderResourceId::from(*other_sampler), + _ => false, + } + } +} + impl Hash for RenderResourceBinding { fn hash(&self, state: &mut H) { match self {