Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        internal static unsafe ImageSparseMemoryRequirementsInfo2 MarshalFrom(SharpVk.Interop.Khronos.ImageSparseMemoryRequirementsInfo2 *pointer)
        {
            ImageSparseMemoryRequirementsInfo2 result = default(ImageSparseMemoryRequirementsInfo2);

            result.Image = new SharpVk.Image(default(SharpVk.Device), pointer->Image);
            return(result);
        }
Esempio n. 2
0
 /// <summary>
 ///
 /// </summary>
 public static unsafe SharpVk.Khronos.SparseImageMemoryRequirements2[] GetImageSparseMemoryRequirements2(this SharpVk.Device extendedHandle, SharpVk.Khronos.ImageSparseMemoryRequirementsInfo2 info)
 {
     try
     {
         SharpVk.Khronos.SparseImageMemoryRequirements2[] result = default(SharpVk.Khronos.SparseImageMemoryRequirements2[]);
         uint         sparseMemoryRequirementCount = default(uint);
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Khronos.ImageSparseMemoryRequirementsInfo2 *marshalledInfo = default(SharpVk.Interop.Khronos.ImageSparseMemoryRequirementsInfo2 *);
         SharpVk.Interop.Khronos.SparseImageMemoryRequirements2 *    marshalledSparseMemoryRequirements = default(SharpVk.Interop.Khronos.SparseImageMemoryRequirements2 *);
         commandCache   = extendedHandle.commandCache;
         marshalledInfo = (SharpVk.Interop.Khronos.ImageSparseMemoryRequirementsInfo2 *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.ImageSparseMemoryRequirementsInfo2>());
         info.MarshalTo(marshalledInfo);
         SharpVk.Interop.Khronos.VkDeviceGetImageSparseMemoryRequirements2Delegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkDeviceGetImageSparseMemoryRequirements2Delegate>("vkGetImageSparseMemoryRequirements2KHR", "instance");
         commandDelegate(extendedHandle.handle, marshalledInfo, &sparseMemoryRequirementCount, marshalledSparseMemoryRequirements);
         marshalledSparseMemoryRequirements = (SharpVk.Interop.Khronos.SparseImageMemoryRequirements2 *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.SparseImageMemoryRequirements2>((uint)(sparseMemoryRequirementCount)));
         commandDelegate(extendedHandle.handle, marshalledInfo, &sparseMemoryRequirementCount, marshalledSparseMemoryRequirements);
         if (marshalledSparseMemoryRequirements != null)
         {
             var fieldPointer = new SharpVk.Khronos.SparseImageMemoryRequirements2[(uint)(sparseMemoryRequirementCount)];
             for (int index = 0; index < (uint)(sparseMemoryRequirementCount); index++)
             {
                 fieldPointer[index] = SharpVk.Khronos.SparseImageMemoryRequirements2.MarshalFrom(&marshalledSparseMemoryRequirements[index]);
             }
             result = fieldPointer;
         }
         else
         {
             result = null;
         }
         return(result);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.Khronos.ImageSparseMemoryRequirementsInfo2 *pointer)
 {
     pointer->SType = StructureType.ImageSparseMemoryRequirementsInfo2Khr;
     pointer->Next  = null;
     pointer->Image = this.Image?.handle ?? default(SharpVk.Interop.Image);
 }