rusticl/kernel: use real references for arguments
Signed-off-by: Karol Herbst <kherbst@redhat.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15439>
This commit is contained in:
@@ -280,17 +280,17 @@ pub fn set_kernel_arg(
|
|||||||
if ptr.is_null() || (*ptr).is_null() {
|
if ptr.is_null() || (*ptr).is_null() {
|
||||||
KernelArgValue::None
|
KernelArgValue::None
|
||||||
} else {
|
} else {
|
||||||
KernelArgValue::MemObject((*ptr).get_ref()?)
|
KernelArgValue::MemObject((*ptr).get_arc()?)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KernelArgType::MemLocal => KernelArgValue::LocalMem(arg_size),
|
KernelArgType::MemLocal => KernelArgValue::LocalMem(arg_size),
|
||||||
KernelArgType::Image | KernelArgType::RWImage | KernelArgType::Texture => {
|
KernelArgType::Image | KernelArgType::RWImage | KernelArgType::Texture => {
|
||||||
let img: *const cl_mem = arg_value.cast();
|
let img: *const cl_mem = arg_value.cast();
|
||||||
KernelArgValue::MemObject((*img).get_ref()?)
|
KernelArgValue::MemObject((*img).get_arc()?)
|
||||||
}
|
}
|
||||||
KernelArgType::Sampler => {
|
KernelArgType::Sampler => {
|
||||||
let ptr: *const cl_sampler = arg_value.cast();
|
let ptr: *const cl_sampler = arg_value.cast();
|
||||||
KernelArgValue::Sampler((*ptr).get_ref()?)
|
KernelArgValue::Sampler((*ptr).get_arc()?)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -30,8 +30,8 @@ use std::sync::Arc;
|
|||||||
pub enum KernelArgValue {
|
pub enum KernelArgValue {
|
||||||
None,
|
None,
|
||||||
Constant(Vec<u8>),
|
Constant(Vec<u8>),
|
||||||
MemObject(&'static Mem),
|
MemObject(Arc<Mem>),
|
||||||
Sampler(&'static Sampler),
|
Sampler(Arc<Sampler>),
|
||||||
LocalMem(usize),
|
LocalMem(usize),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user