Пример #1
0
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.Khronos.PhysicalDeviceExternalBufferInfo *pointer)
 {
     pointer->SType = StructureType.PhysicalDeviceExternalBufferInfoKhr;
     pointer->Next  = null;
     if (this.Flags != null)
     {
         pointer->Flags = this.Flags.Value;
     }
     else
     {
         pointer->Flags = default(SharpVk.BufferCreateFlags);
     }
     pointer->Usage      = this.Usage;
     pointer->HandleType = this.HandleType;
 }
 /// <summary>
 ///
 /// </summary>
 public static unsafe SharpVk.Khronos.ExternalBufferProperties GetExternalBufferProperties(this SharpVk.PhysicalDevice extendedHandle, SharpVk.Khronos.PhysicalDeviceExternalBufferInfo externalBufferInfo)
 {
     try
     {
         SharpVk.Khronos.ExternalBufferProperties result = default(SharpVk.Khronos.ExternalBufferProperties);
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Khronos.PhysicalDeviceExternalBufferInfo *marshalledExternalBufferInfo       = default(SharpVk.Interop.Khronos.PhysicalDeviceExternalBufferInfo *);
         SharpVk.Interop.Khronos.ExternalBufferProperties          marshalledExternalBufferProperties = default(SharpVk.Interop.Khronos.ExternalBufferProperties);
         commandCache = extendedHandle.commandCache;
         marshalledExternalBufferInfo = (SharpVk.Interop.Khronos.PhysicalDeviceExternalBufferInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.PhysicalDeviceExternalBufferInfo>());
         externalBufferInfo.MarshalTo(marshalledExternalBufferInfo);
         SharpVk.Interop.Khronos.VkPhysicalDeviceGetExternalBufferPropertiesDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkPhysicalDeviceGetExternalBufferPropertiesDelegate>("vkGetPhysicalDeviceExternalBufferPropertiesKHR", "instance");
         commandDelegate(extendedHandle.handle, marshalledExternalBufferInfo, &marshalledExternalBufferProperties);
         result = SharpVk.Khronos.ExternalBufferProperties.MarshalFrom(&marshalledExternalBufferProperties);
         return(result);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }