/// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.Khronos.MemoryGetFileDescriptorInfo *pointer)
 {
     pointer->SType      = StructureType.MemoryGetFileDescriptorInfo;
     pointer->Next       = null;
     pointer->Memory     = this.Memory?.handle ?? default(SharpVk.Interop.DeviceMemory);
     pointer->HandleType = this.HandleType;
 }
Esempio n. 2
0
 /// <summary>
 ///
 /// </summary>
 public static unsafe int GetMemoryFileDescriptor(this SharpVk.Device extendedHandle, SharpVk.Khronos.MemoryGetFileDescriptorInfo getFileDescriptorInfo)
 {
     try
     {
         int          result       = default(int);
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Khronos.MemoryGetFileDescriptorInfo *marshalledGetFileDescriptorInfo = default(SharpVk.Interop.Khronos.MemoryGetFileDescriptorInfo *);
         int marshalledFileDescriptor = default(int);
         commandCache = extendedHandle.commandCache;
         marshalledGetFileDescriptorInfo = (SharpVk.Interop.Khronos.MemoryGetFileDescriptorInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.MemoryGetFileDescriptorInfo>());
         getFileDescriptorInfo.MarshalTo(marshalledGetFileDescriptorInfo);
         SharpVk.Interop.Khronos.VkDeviceGetMemoryFileDescriptorDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkDeviceGetMemoryFileDescriptorDelegate>("vkGetMemoryFdKHR", "instance");
         Result methodResult = commandDelegate(extendedHandle.handle, marshalledGetFileDescriptorInfo, &marshalledFileDescriptor);
         if (SharpVkException.IsError(methodResult))
         {
             throw SharpVkException.Create(methodResult);
         }
         result = marshalledFileDescriptor;
         return(result);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }