From 98cd1c4253fbd44d4a4e7e12a7fc12ac656d4f8d Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Sun, 3 Apr 2022 20:02:05 +0200 Subject: [PATCH] rusticl: get rid of a few clones Signed-off-by: Karol Herbst Acked-by: Alyssa Rosenzweig Part-of: --- src/gallium/frontends/rusticl/api/event.rs | 2 +- src/gallium/frontends/rusticl/api/queue.rs | 2 +- src/gallium/frontends/rusticl/core/kernel.rs | 4 +--- src/gallium/frontends/rusticl/core/queue.rs | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/gallium/frontends/rusticl/api/event.rs b/src/gallium/frontends/rusticl/api/event.rs index 395314efb78..3b388319b2e 100644 --- a/src/gallium/frontends/rusticl/api/event.rs +++ b/src/gallium/frontends/rusticl/api/event.rs @@ -149,7 +149,7 @@ pub fn create_and_queue( ) -> CLResult<()> { let e = Event::new(&q, cmd_type, deps, work); cl_event::leak_ref(event, &e); - q.queue(&e); + q.queue(e); if block { q.flush(true)?; } diff --git a/src/gallium/frontends/rusticl/api/queue.rs b/src/gallium/frontends/rusticl/api/queue.rs index 73cf88dd123..b1699fae7c3 100644 --- a/src/gallium/frontends/rusticl/api/queue.rs +++ b/src/gallium/frontends/rusticl/api/queue.rs @@ -111,7 +111,7 @@ pub fn enqueue_barrier(command_queue: cl_command_queue) -> CLResult<()> { // TODO barriers make sure previous commands did complete and other commands didn't start let e = Event::new(&q, CL_COMMAND_BARRIER, Vec::new(), Box::new(|_, _| Ok(()))); - q.queue(&e); + q.queue(e); Ok(()) } diff --git a/src/gallium/frontends/rusticl/core/kernel.rs b/src/gallium/frontends/rusticl/core/kernel.rs index 85263209649..261129aac83 100644 --- a/src/gallium/frontends/rusticl/core/kernel.rs +++ b/src/gallium/frontends/rusticl/core/kernel.rs @@ -585,15 +585,13 @@ impl Kernel { } } - let k = self.clone(); + let k = Arc::clone(self); Ok(Box::new(move |q, ctx| { let nir = k.nirs.get(&q.device).unwrap(); let mut input = input.clone(); let mut resources = Vec::with_capacity(resource_info.len()); let mut globals: Vec<*mut u32> = Vec::new(); let printf_format = nir.printf_format(); - let printf_buf = printf_buf.clone(); - let iviews = iviews.clone(); let mut sviews: Vec<_> = sviews.iter().map(|s| ctx.create_sampler_view(s)).collect(); let samplers: Vec<_> = samplers diff --git a/src/gallium/frontends/rusticl/core/queue.rs b/src/gallium/frontends/rusticl/core/queue.rs index 9611c028845..543d1783b9f 100644 --- a/src/gallium/frontends/rusticl/core/queue.rs +++ b/src/gallium/frontends/rusticl/core/queue.rs @@ -74,8 +74,8 @@ impl Queue { })) } - pub fn queue(&self, e: &Arc) { - self.pending.lock().unwrap().push(e.clone()); + pub fn queue(&self, e: Arc) { + self.pending.lock().unwrap().push(e); } pub fn flush(&self, wait: bool) -> CLResult<()> {