Son aktivite 1 month ago

Revizyon 7eaad6e6dc0c7efa014ebce71f84705c6e3426a9

snippet.rs Ham
1#[unsafe(no_mangle)]
2unsafe extern "system" fn xrCreateApiLayerInstance(
3 info: *const InstanceCreateInfo,
4 layer_info: *const ApiLayerCreateInfo,
5 instance: *mut Instance,
6) -> openxr_sys::Result {
7 let r_info: &InstanceCreateInfo = unsafe { &*info };
8 let r_layer_info: &ApiLayerCreateInfo = unsafe { &*layer_info };
9 let r_instance: &mut Instance = unsafe { &mut *instance };
10
11 let mut next_layer_info: ApiLayerCreateInfo = *r_layer_info;
12 next_layer_info.next_info = unsafe { &*r_layer_info.next_info }.next;
13
14 dbg!(&r_info);
15
16 let Some(next_create_api_layer_instance) =
17 unsafe { &*r_layer_info.next_info }.next_create_api_layer_instance
18 else {
19 // no can do
20 eprintln!("Unable to get next_create_api_layer_instance from layer_info.next_info");
21 return openxr_sys::Result::ERROR_RUNTIME_FAILURE;
22 };
23
24 let result = unsafe { next_create_api_layer_instance(r_info, &next_layer_info, r_instance) };
25
26 if result != openxr_sys::Result::SUCCESS {
27 eprintln!("Next xrCreateApiLayerInstance failed: {}", result); // This gets triggerd
28 return result;
29 }
30
31 openxr_sys::Result::SUCCESS
32}