public override void Parse(WordReader reader, uint wordCount) { var end = reader.Position + wordCount - 1; MergeBlock = Spv.IdRef.Parse(reader, end - reader.Position); SelectionControl = Spv.SelectionControl.Parse(reader, end - reader.Position); }
/// <summary> /// Read instruction operands from the bytecode source. /// </summary> /// <param name="reader">Bytecode source.</param> /// <param name="end">Index of a next word right after this instruction.</param> public override void ParseOperands(WordReader reader, uint end) { MergeBlock = Spv.IdRef.Parse(reader, end - reader.Position); SelectionControl = Spv.SelectionControl.Parse(reader, end - reader.Position); }
private void SetUp(OpSelectionMerge op, SpirvInstructionTreeBuilder treeBuilder) { MergeBlock = (Label)treeBuilder.GetNode(op.MergeBlock); SelectionControl = op.SelectionControl; SetUpDecorations(op, treeBuilder); }
public static SelectionMerge ThenSelectionMerge(this INodeWithNext node, Label mergeBlock, Spv.SelectionControl selectionControl, string debugName = null) { return(node.Then(new SelectionMerge(mergeBlock, selectionControl, debugName))); }
public SelectionMerge(Label mergeBlock, Spv.SelectionControl selectionControl, string debugName = null) { this.MergeBlock = mergeBlock; this.SelectionControl = selectionControl; DebugName = debugName; }