Example #1
0
 /// <summary>
 /// Retrieve properties of an image format applied to sparse images.
 /// </summary>
 public SparseImageFormatProperties2[] GetSparseImageFormatProperties2(PhysicalDeviceSparseImageFormatInfo2 formatInfo)
 {
     unsafe
     {
         try
         {
             var commandDelegate = this.commandCache.GetCommandDelegate <Interop.vkGetPhysicalDeviceSparseImageFormatProperties2KHR>("vkGetPhysicalDeviceSparseImageFormatProperties2KHR", "instance");
             SparseImageFormatProperties2[] result = default(SparseImageFormatProperties2[]);
             Interop.PhysicalDeviceSparseImageFormatInfo2 marshalledFormatInfo;
             formatInfo.MarshalTo(&marshalledFormatInfo);
             uint propertyCount;
             Interop.SparseImageFormatProperties2 *marshalledProperties = null;
             commandDelegate(this.handle, &marshalledFormatInfo, &propertyCount, null);
             marshalledProperties = (Interop.SparseImageFormatProperties2 *)Interop.HeapUtil.Allocate <Interop.SparseImageFormatProperties2>((uint)propertyCount);
             commandDelegate(this.handle, &marshalledFormatInfo, &propertyCount, marshalledProperties);
             result = new SparseImageFormatProperties2[(uint)propertyCount];
             for (int index = 0; index < (uint)propertyCount; index++)
             {
                 result[index] = SparseImageFormatProperties2.MarshalFrom(&marshalledProperties[index]);
             }
             return(result);
         }
         finally
         {
             Interop.HeapUtil.FreeLog();
         }
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="pointer">
        /// </param>
        internal static unsafe PhysicalDeviceSparseImageFormatInfo2 MarshalFrom(SharpVk.Interop.PhysicalDeviceSparseImageFormatInfo2 *pointer)
        {
            PhysicalDeviceSparseImageFormatInfo2 result = default(PhysicalDeviceSparseImageFormatInfo2);

            result.Format  = pointer->Format;
            result.Type    = pointer->Type;
            result.Samples = pointer->Samples;
            result.Usage   = pointer->Usage;
            result.Tiling  = pointer->Tiling;
            return(result);
        }