rusticl/kernel: add an SVM kernel argument value
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32942>
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user