/// <summary>
        ///
        /// </summary>
        /// <param name="pointer">
        /// </param>
        internal static unsafe PipelineColorBlendAttachmentState MarshalFrom(SharpVk.Interop.PipelineColorBlendAttachmentState *pointer)
        {
            PipelineColorBlendAttachmentState result = default(PipelineColorBlendAttachmentState);

            result.BlendEnable                 = pointer->BlendEnable;
            result.SourceColorBlendFactor      = pointer->SourceColorBlendFactor;
            result.DestinationColorBlendFactor = pointer->DestinationColorBlendFactor;
            result.ColorBlendOp                = pointer->ColorBlendOp;
            result.SourceAlphaBlendFactor      = pointer->SourceAlphaBlendFactor;
            result.DestinationAlphaBlendFactor = pointer->DestinationAlphaBlendFactor;
            result.AlphaBlendOp                = pointer->AlphaBlendOp;
            result.ColorWriteMask              = pointer->ColorWriteMask;
            return(result);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="pointer">
 /// </param>
 internal unsafe void MarshalTo(SharpVk.Interop.PipelineColorBlendAttachmentState *pointer)
 {
     pointer->BlendEnable                 = this.BlendEnable;
     pointer->SourceColorBlendFactor      = this.SourceColorBlendFactor;
     pointer->DestinationColorBlendFactor = this.DestinationColorBlendFactor;
     pointer->ColorBlendOp                = this.ColorBlendOp;
     pointer->SourceAlphaBlendFactor      = this.SourceAlphaBlendFactor;
     pointer->DestinationAlphaBlendFactor = this.DestinationAlphaBlendFactor;
     pointer->AlphaBlendOp                = this.AlphaBlendOp;
     if (this.ColorWriteMask != null)
     {
         pointer->ColorWriteMask = this.ColorWriteMask.Value;
     }
     else
     {
         pointer->ColorWriteMask = default(SharpVk.ColorComponentFlags);
     }
 }