예제 #1
0
        public virtual uint GetWordCount()
        {
            uint wordCount = 1;

            if (Enumerant.Aligned == (Value & Enumerant.Aligned))
            {
                wordCount += Aligned.GetWordCount();
            }
            if (Enumerant.MakePointerAvailable == (Value & Enumerant.MakePointerAvailable))
            {
                wordCount += MakePointerAvailable.GetWordCount();
            }
            if (Enumerant.MakePointerAvailableKHR == (Value & Enumerant.MakePointerAvailableKHR))
            {
                wordCount += MakePointerAvailableKHR.GetWordCount();
            }
            if (Enumerant.MakePointerVisible == (Value & Enumerant.MakePointerVisible))
            {
                wordCount += MakePointerVisible.GetWordCount();
            }
            if (Enumerant.MakePointerVisibleKHR == (Value & Enumerant.MakePointerVisibleKHR))
            {
                wordCount += MakePointerVisibleKHR.GetWordCount();
            }
            return(wordCount);
        }
예제 #2
0
 public void Write(WordWriter writer)
 {
     writer.WriteWord((uint)Value);
     if (Enumerant.Aligned == (Value & Enumerant.Aligned))
     {
         Aligned.Write(writer);
     }
     if (Enumerant.MakePointerAvailable == (Value & Enumerant.MakePointerAvailable))
     {
         MakePointerAvailable.Write(writer);
     }
     if (Enumerant.MakePointerAvailableKHR == (Value & Enumerant.MakePointerAvailableKHR))
     {
         MakePointerAvailableKHR.Write(writer);
     }
     if (Enumerant.MakePointerVisible == (Value & Enumerant.MakePointerVisible))
     {
         MakePointerVisible.Write(writer);
     }
     if (Enumerant.MakePointerVisibleKHR == (Value & Enumerant.MakePointerVisibleKHR))
     {
         MakePointerVisibleKHR.Write(writer);
     }
 }