public static int SizeOfMarshalDirect(this VkCommandBufferBeginInfo s)
        {
            if (s == null)
            {
                throw new InvalidOperationException("Trying to directly marshal a null.");
            }

            return
                (s.Next.SizeOfMarshalIndirect() +
                 s.InheritanceInfo.SizeOfMarshalIndirect());
        }
        public static VkCommandBufferBeginInfo.Raw *MarshalIndirect(this VkCommandBufferBeginInfo s, ref byte *unmanaged)
        {
            if (s == null)
            {
                return((VkCommandBufferBeginInfo.Raw *) 0);
            }
            var result = (VkCommandBufferBeginInfo.Raw *)unmanaged;

            unmanaged += VkCommandBufferBeginInfo.Raw.SizeInBytes;
            *result = s.MarshalDirect(ref unmanaged);
            return(result);
        }
Esempio n. 3
0
        public VkResult Begin(VkCommandBufferBeginInfo beginInfo)
        {
            var unmanagedSize =
                beginInfo.SizeOfMarshalIndirect();
            var unmanagedArray = new byte[unmanagedSize];

            fixed(byte *unmanagedStart = unmanagedArray)
            {
                var unmanaged      = unmanagedStart;
                var _commandBuffer = Handle;
                var _pBeginInfo    = beginInfo.MarshalIndirect(ref unmanaged);

                return(Direct.BeginCommandBuffer(_commandBuffer, _pBeginInfo));
            }
        }
        public static VkCommandBufferBeginInfo.Raw MarshalDirect(this VkCommandBufferBeginInfo s, ref byte *unmanaged)
        {
            if (s == null)
            {
                throw new InvalidOperationException("Trying to directly marshal a null.");
            }

            var pNext            = s.Next.MarshalIndirect(ref unmanaged);
            var pInheritanceInfo = s.InheritanceInfo.MarshalIndirect(ref unmanaged);

            VkCommandBufferBeginInfo.Raw result;
            result.sType            = VkStructureType.CommandBufferBeginInfo;
            result.pNext            = pNext;
            result.flags            = s.Flags;
            result.pInheritanceInfo = pInheritanceInfo;
            return(result);
        }
Esempio n. 5
0
 public VkResult Begin(VkCommandBufferBeginInfo beginInfo)
 {
     var unmanagedSize =
         beginInfo.SizeOfMarshalIndirect();
     var unmanagedArray = new byte[unmanagedSize];
     fixed (byte* unmanagedStart = unmanagedArray)
     {
         var unmanaged = unmanagedStart;
         var _commandBuffer = Handle;
         var _pBeginInfo = beginInfo.MarshalIndirect(ref unmanaged);
         return Direct.BeginCommandBuffer(_commandBuffer, _pBeginInfo);
     }
 }
 public static int SizeOfMarshalIndirect(this VkCommandBufferBeginInfo s) =>
 s == null ? 0 : s.SizeOfMarshalDirect() + VkCommandBufferBeginInfo.Raw.SizeInBytes;