rusticl/spirv: do not pass a NULL pointer to slice::from_raw_parts
Fixes: e8de580998
("rusticl/kernel: basic implementation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29604>
This commit is contained in:
@@ -285,17 +285,19 @@ impl SPIRVBin {
|
|||||||
|
|
||||||
pub fn args(&self, name: &str) -> Vec<SPIRVKernelArg> {
|
pub fn args(&self, name: &str) -> Vec<SPIRVKernelArg> {
|
||||||
match self.kernel_info(name) {
|
match self.kernel_info(name) {
|
||||||
None => Vec::new(),
|
Some(info) if info.num_args > 0 => {
|
||||||
Some(info) => unsafe { slice::from_raw_parts(info.args, info.num_args) }
|
unsafe { slice::from_raw_parts(info.args, info.num_args) }
|
||||||
.iter()
|
.iter()
|
||||||
.map(|a| SPIRVKernelArg {
|
.map(|a| SPIRVKernelArg {
|
||||||
name: c_string_to_string(a.name),
|
name: c_string_to_string(a.name),
|
||||||
type_name: c_string_to_string(a.type_name),
|
type_name: c_string_to_string(a.type_name),
|
||||||
access_qualifier: clc_kernel_arg_access_qualifier(a.access_qualifier),
|
access_qualifier: clc_kernel_arg_access_qualifier(a.access_qualifier),
|
||||||
address_qualifier: a.address_qualifier,
|
address_qualifier: a.address_qualifier,
|
||||||
type_qualifier: clc_kernel_arg_type_qualifier(a.type_qualifier),
|
type_qualifier: clc_kernel_arg_type_qualifier(a.type_qualifier),
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect()
|
||||||
|
}
|
||||||
|
_ => Vec::new(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user