示例#1
0
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.ImageCreateInfo *pointer)
 {
     pointer->SType = StructureType.ImageCreateInfo;
     pointer->Next  = null;
     if (this.Flags != null)
     {
         pointer->Flags = this.Flags.Value;
     }
     else
     {
         pointer->Flags = default(SharpVk.ImageCreateFlags);
     }
     pointer->ImageType             = this.ImageType;
     pointer->Format                = this.Format;
     pointer->Extent                = this.Extent;
     pointer->MipLevels             = this.MipLevels;
     pointer->ArrayLayers           = this.ArrayLayers;
     pointer->Samples               = this.Samples;
     pointer->Tiling                = this.Tiling;
     pointer->Usage                 = this.Usage;
     pointer->SharingMode           = this.SharingMode;
     pointer->QueueFamilyIndexCount = (uint)(Interop.HeapUtil.GetLength(this.QueueFamilyIndices));
     if (this.QueueFamilyIndices != null)
     {
         var fieldPointer = (uint *)(Interop.HeapUtil.AllocateAndClear <uint>(this.QueueFamilyIndices.Length).ToPointer());
         for (int index = 0; index < (uint)(this.QueueFamilyIndices.Length); index++)
         {
             fieldPointer[index] = this.QueueFamilyIndices[index];
         }
         pointer->QueueFamilyIndices = fieldPointer;
     }
     else
     {
         pointer->QueueFamilyIndices = null;
     }
     pointer->InitialLayout = this.InitialLayout;
 }
示例#2
0
 public static extern SharpVk.Result vkCreateImage(SharpVk.Interop.Device device, SharpVk.Interop.ImageCreateInfo *createInfo, SharpVk.Interop.AllocationCallbacks *allocator, SharpVk.Interop.Image *image);