示例#1
0
 void Push(spv.Op code, UInt32 argument1, UInt32 argument2, UInt32 argument3)
 {
     mFunctionDefinitionInstructions.Add(Pack(4, code)); //size,Type
     mFunctionDefinitionInstructions.Add(argument1);
     mFunctionDefinitionInstructions.Add(argument2);
     mFunctionDefinitionInstructions.Add(argument3);
 }
示例#2
0
        /// <summary>
        /// Combined the word count and opcode into a single word.
        /// </summary>
        /// <param name="wordCount"></param>
        /// <param name="opcode"></param>
        /// <returns></returns>
        protected static UInt32 Pack(UInt16 wordCount, spv.Op opcode)
        {
            var opcodeDescription = new PackStructure();

            opcodeDescription.WordCount = wordCount;
            opcodeDescription.Opcode    = opcode;

            return(opcodeDescription.Word);
        }
示例#3
0
 void Push(spv.Op code, UInt32 argument1, UInt32 argument2, UInt32 argument3, spv.GLSLstd450 argument4, UInt32 argument5)
 {
     mFunctionDefinitionInstructions.Add(Pack(6, code)); //size,Type
     mFunctionDefinitionInstructions.Add(argument1);
     mFunctionDefinitionInstructions.Add(argument2);
     mFunctionDefinitionInstructions.Add(argument3);
     mFunctionDefinitionInstructions.Add((UInt32)argument4);
     mFunctionDefinitionInstructions.Add(argument5);
 }
示例#4
0
 void Push(spv.Op code, UInt32 argument1, UInt32 argument2, UInt32 argument3, UInt32 argument4, UInt32 argument5, UInt32 argument6, UInt32 argument7)
 {
     mFunctionDefinitionInstructions.Add(Pack(8, code)); //size,Type
     mFunctionDefinitionInstructions.Add(argument1);
     mFunctionDefinitionInstructions.Add(argument2);
     mFunctionDefinitionInstructions.Add(argument3);
     mFunctionDefinitionInstructions.Add(argument4);
     mFunctionDefinitionInstructions.Add(argument5);
     mFunctionDefinitionInstructions.Add(argument6);
     mFunctionDefinitionInstructions.Add(argument7);
 }
示例#5
0
 void Push(spv.Op code)
 {
     mFunctionDefinitionInstructions.Add(Pack(1, code)); //size,Type
 }