示例#1
0
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.Khronos.ImportFenceFileDescriptorInfo *pointer)
 {
     pointer->SType = StructureType.ImportFenceFileDescriptorInfo;
     pointer->Next  = null;
     pointer->Fence = this.Fence?.handle ?? default(SharpVk.Interop.Fence);
     if (this.Flags != null)
     {
         pointer->Flags = this.Flags.Value;
     }
     else
     {
         pointer->Flags = default(SharpVk.Khronos.FenceImportFlags);
     }
     pointer->HandleType     = this.HandleType;
     pointer->FileDescriptor = this.FileDescriptor;
 }
 /// <summary>
 ///
 /// </summary>
 public static unsafe void ImportFenceFileDescriptor(this SharpVk.Device extendedHandle, SharpVk.Khronos.ImportFenceFileDescriptorInfo importFenceFileDescriptorInfo)
 {
     try
     {
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Khronos.ImportFenceFileDescriptorInfo *marshalledImportFenceFileDescriptorInfo = default(SharpVk.Interop.Khronos.ImportFenceFileDescriptorInfo *);
         commandCache = extendedHandle.commandCache;
         marshalledImportFenceFileDescriptorInfo = (SharpVk.Interop.Khronos.ImportFenceFileDescriptorInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.ImportFenceFileDescriptorInfo>());
         importFenceFileDescriptorInfo.MarshalTo(marshalledImportFenceFileDescriptorInfo);
         SharpVk.Interop.Khronos.VkDeviceImportFenceFileDescriptorDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkDeviceImportFenceFileDescriptorDelegate>("vkImportFenceFdKHR", "instance");
         Result methodResult = commandDelegate(extendedHandle.handle, marshalledImportFenceFileDescriptorInfo);
         if (SharpVkException.IsError(methodResult))
         {
             throw SharpVkException.Create(methodResult);
         }
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }