Esempio n. 1
0
 /// <summary>
 /// Retrieve properties of an image format applied to sparse images.
 /// </summary>
 public unsafe SharpVk.SparseImageFormatProperties[] GetSparseImageFormatProperties(SharpVk.Format format, SharpVk.ImageType type, SharpVk.SampleCountFlags samples, SharpVk.ImageUsageFlags usage, SharpVk.ImageTiling tiling)
 {
     try
     {
         SharpVk.SparseImageFormatProperties[] result = default(SharpVk.SparseImageFormatProperties[]);
         uint propertyCount = default(uint);
         SharpVk.SparseImageFormatProperties *marshalledProperties = default(SharpVk.SparseImageFormatProperties *);
         SharpVk.Interop.VkPhysicalDeviceGetSparseImageFormatPropertiesDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.VkPhysicalDeviceGetSparseImageFormatPropertiesDelegate>("vkGetPhysicalDeviceSparseImageFormatProperties", "");
         commandDelegate(this.handle, format, type, samples, usage, tiling, &propertyCount, marshalledProperties);
         marshalledProperties = (SharpVk.SparseImageFormatProperties *)(Interop.HeapUtil.Allocate <SharpVk.SparseImageFormatProperties>((uint)(propertyCount)));
         commandDelegate(this.handle, format, type, samples, usage, tiling, &propertyCount, marshalledProperties);
         if (marshalledProperties != null)
         {
             var fieldPointer = new SharpVk.SparseImageFormatProperties[(uint)(propertyCount)];
             for (int index = 0; index < (uint)(propertyCount); index++)
             {
                 fieldPointer[index] = marshalledProperties[index];
             }
             result = fieldPointer;
         }
         else
         {
             result = null;
         }
         return(result);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }
 /// <summary>
 ///
 /// </summary>
 public AttachmentDescription(SharpVk.AttachmentDescriptionFlags flags, SharpVk.Format format, SharpVk.SampleCountFlags samples, SharpVk.AttachmentLoadOp loadOp, SharpVk.AttachmentStoreOp storeOp, SharpVk.AttachmentLoadOp stencilLoadOp, SharpVk.AttachmentStoreOp stencilStoreOp, SharpVk.ImageLayout initialLayout, SharpVk.ImageLayout finalLayout)
 {
     this.Flags          = flags;
     this.Format         = format;
     this.Samples        = samples;
     this.LoadOp         = loadOp;
     this.StoreOp        = storeOp;
     this.StencilLoadOp  = stencilLoadOp;
     this.StencilStoreOp = stencilStoreOp;
     this.InitialLayout  = initialLayout;
     this.FinalLayout    = finalLayout;
 }
Esempio n. 3
0
 public static extern void vkGetPhysicalDeviceSparseImageFormatProperties(SharpVk.Interop.PhysicalDevice physicalDevice, SharpVk.Format format, SharpVk.ImageType type, SharpVk.SampleCountFlags samples, SharpVk.ImageUsageFlags usage, SharpVk.ImageTiling tiling, uint *propertyCount, SharpVk.SparseImageFormatProperties *properties);
Esempio n. 4
0
 /// <summary>
 ///
 /// </summary>
 public ImageFormatProperties(SharpVk.Extent3D maxExtent, uint maxMipLevels, uint maxArrayLayers, SharpVk.SampleCountFlags sampleCounts, DeviceSize maxResourceSize)
 {
     this.MaxExtent       = maxExtent;
     this.MaxMipLevels    = maxMipLevels;
     this.MaxArrayLayers  = maxArrayLayers;
     this.SampleCounts    = sampleCounts;
     this.MaxResourceSize = maxResourceSize;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="extendedHandle">
 /// The PhysicalDevice handle to extend.
 /// </param>
 public static unsafe SharpVk.Multivendor.MultisampleProperties GetMultisampleProperties(this SharpVk.PhysicalDevice extendedHandle, SharpVk.SampleCountFlags samples)
 {
     try
     {
         SharpVk.Multivendor.MultisampleProperties result = default(SharpVk.Multivendor.MultisampleProperties);
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Multivendor.MultisampleProperties marshalledMultisampleProperties = default(SharpVk.Interop.Multivendor.MultisampleProperties);
         commandCache = extendedHandle.commandCache;
         SharpVk.Interop.Multivendor.VkPhysicalDeviceGetMultisamplePropertiesDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Multivendor.VkPhysicalDeviceGetMultisamplePropertiesDelegate>("vkGetPhysicalDeviceMultisamplePropertiesEXT", "device");
         commandDelegate(extendedHandle.handle, samples, &marshalledMultisampleProperties);
         result = SharpVk.Multivendor.MultisampleProperties.MarshalFrom(&marshalledMultisampleProperties);
         return(result);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }