Exemple #1
0
        public static VkPipelineLayoutCreateInfo.Raw *MarshalIndirect(this VkPipelineLayoutCreateInfo s, ref byte *unmanaged)
        {
            if (s == null)
            {
                return((VkPipelineLayoutCreateInfo.Raw *) 0);
            }
            var result = (VkPipelineLayoutCreateInfo.Raw *)unmanaged;

            unmanaged += VkPipelineLayoutCreateInfo.Raw.SizeInBytes;
            *result = s.MarshalDirect(ref unmanaged);
            return(result);
        }
Exemple #2
0
        public static int SizeOfMarshalDirect(this VkPipelineLayoutCreateInfo s)
        {
            if (s == null)
            {
                throw new InvalidOperationException("Trying to directly marshal a null.");
            }

            return
                (s.Next.SizeOfMarshalIndirect() +
                 s.SetLayouts.SizeOfMarshalDirect() +
                 s.PushConstantRanges.SizeOfMarshalDirect());
        }
Exemple #3
0
        public static VkPipelineLayoutCreateInfo.Raw MarshalDirect(this VkPipelineLayoutCreateInfo s, ref byte *unmanaged)
        {
            if (s == null)
            {
                throw new InvalidOperationException("Trying to directly marshal a null.");
            }

            var pNext               = s.Next.MarshalIndirect(ref unmanaged);
            var pSetLayouts         = s.SetLayouts.MarshalDirect(ref unmanaged);
            var pPushConstantRanges = s.PushConstantRanges.MarshalDirect(ref unmanaged);

            VkPipelineLayoutCreateInfo.Raw result;
            result.sType                  = VkStructureType.PipelineLayoutCreateInfo;
            result.pNext                  = pNext;
            result.flags                  = s.Flags;
            result.setLayoutCount         = s.SetLayouts?.Count ?? 0;
            result.pSetLayouts            = pSetLayouts;
            result.pushConstantRangeCount = s.PushConstantRanges?.Count ?? 0;
            result.pPushConstantRanges    = pPushConstantRanges;
            return(result);
        }
Exemple #4
0
 public static int SizeOfMarshalIndirect(this VkPipelineLayoutCreateInfo s) =>
 s == null ? 0 : s.SizeOfMarshalDirect() + VkPipelineLayoutCreateInfo.Raw.SizeInBytes;