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); }
/// <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); }
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); }
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); }
void Push(spv.Op code) { mFunctionDefinitionInstructions.Add(Pack(1, code)); //size,Type }