rusticl/kernel: add an SVM kernel argument value

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942>
This commit is contained in:
Karol Herbst
2025-03-28 21:54:45 +01:00
committed by Marge Bot
parent 2fb8bb3c49
commit 6e13e438d1
2 changed files with 7 additions and 1 deletions
+1 -1
View File
@@ -489,7 +489,7 @@ fn set_kernel_arg_svm_pointer(
return Err(CL_INVALID_ARG_INDEX);
}
let arg_value = KernelArgValue::Constant(arg_value.to_ne_bytes().to_vec());
let arg_value = KernelArgValue::SVM(arg_value);
kernel.set_kernel_arg(arg_index, arg_value)
} else {
Err(CL_INVALID_ARG_INDEX)
@@ -53,6 +53,7 @@ pub enum KernelArgValue {
None,
/// cl_ext_buffer_device_address
BDA(u64),
SVM(usize),
Buffer(Weak<Buffer>),
Constant(Vec<u8>),
Image(Weak<Image>),
@@ -1496,6 +1497,11 @@ impl Kernel {
);
}
}
&KernelArgValue::SVM(handle) => {
if !api_arg.dead {
add_pointer(q, &mut input, handle as u64);
}
}
KernelArgValue::Image(image) => {
let image = &image_arcs[&(image.as_ptr() as usize)];
let (formats, orders) = if api_arg.kind == KernelArgType::Image {