Example #1
0
 /// <summary>
 /// Retrieve properties of an image format applied to sparse images.
 /// </summary>
 public SparseImageFormatProperties[] GetSparseImageFormatProperties(Format format, ImageType type, SampleCountFlags samples, ImageUsageFlags usage, ImageTiling tiling)
 {
     unsafe
     {
         try
         {
             SparseImageFormatProperties[] result = default(SparseImageFormatProperties[]);
             uint propertyCount;
             SparseImageFormatProperties *marshalledProperties = null;
             Interop.Commands.vkGetPhysicalDeviceSparseImageFormatProperties(this.handle, format, type, samples, usage, tiling, &propertyCount, null);
             marshalledProperties = (SparseImageFormatProperties *)Interop.HeapUtil.Allocate <SparseImageFormatProperties>((uint)propertyCount);
             Interop.Commands.vkGetPhysicalDeviceSparseImageFormatProperties(this.handle, format, type, samples, usage, tiling, &propertyCount, marshalledProperties);
             result = new SparseImageFormatProperties[(uint)propertyCount];
             for (int index = 0; index < (uint)propertyCount; index++)
             {
                 result[index] = marshalledProperties[index];
             }
             return(result);
         }
         finally
         {
             Interop.HeapUtil.FreeLog();
         }
     }
 }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 public SparseImageMemoryRequirements(SparseImageFormatProperties formatProperties, uint imageMipTailFirstLod, DeviceSize imageMipTailSize, DeviceSize imageMipTailOffset, DeviceSize imageMipTailStride)
 {
     this.FormatProperties     = formatProperties;
     this.ImageMipTailFirstLod = imageMipTailFirstLod;
     this.ImageMipTailSize     = imageMipTailSize;
     this.ImageMipTailOffset   = imageMipTailOffset;
     this.ImageMipTailStride   = imageMipTailStride;
 }