/// <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) { SampledImage = Spv.IdRef.Parse(reader, end - reader.Position); Coordinate = Spv.IdRef.Parse(reader, end - reader.Position); D_ref = Spv.IdRef.Parse(reader, end - reader.Position); ImageOperands = Spv.ImageOperands.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) { Image = Spv.IdRef.Parse(reader, end - reader.Position); Coordinate = Spv.IdRef.Parse(reader, end - reader.Position); Texel = Spv.IdRef.Parse(reader, end - reader.Position); ImageOperands = Spv.ImageOperands.ParseOptional(reader, end - reader.Position); }
public ImageFetch(SpirvTypeBase resultType, Node image, Node coordinate, Spv.ImageOperands imageOperands, string debugName = null) { this.ResultType = resultType; this.Image = image; this.Coordinate = coordinate; this.ImageOperands = imageOperands; DebugName = debugName; }
private void SetUp(OpImageWrite op, SpirvInstructionTreeBuilder treeBuilder) { Image = treeBuilder.GetNode(op.Image); Coordinate = treeBuilder.GetNode(op.Coordinate); Texel = treeBuilder.GetNode(op.Texel); ImageOperands = op.ImageOperands; SetUpDecorations(op, treeBuilder); }
public ImageWrite(Node image, Node coordinate, Node texel, Spv.ImageOperands imageOperands, string debugName = null) { this.Image = image; this.Coordinate = coordinate; this.Texel = texel; this.ImageOperands = imageOperands; DebugName = debugName; }
public override void Parse(WordReader reader, uint wordCount) { var end = reader.Position + wordCount - 1; Image = Spv.IdRef.Parse(reader, end - reader.Position); Coordinate = Spv.IdRef.Parse(reader, end - reader.Position); Texel = Spv.IdRef.Parse(reader, end - reader.Position); ImageOperands = Spv.ImageOperands.ParseOptional(reader, end - reader.Position); }
public override void Parse(WordReader reader, uint wordCount) { var end = reader.Position + wordCount - 1; IdResultType = Spv.IdResultType.Parse(reader, end - reader.Position); IdResult = Spv.IdResult.Parse(reader, end - reader.Position); reader.Instructions.Add(this); SampledImage = Spv.IdRef.Parse(reader, end - reader.Position); Coordinate = Spv.IdRef.Parse(reader, end - reader.Position); ImageOperands = Spv.ImageOperands.Parse(reader, end - reader.Position); }
public ImageSampleProjImplicitLod(SpirvTypeBase resultType, Node sampledImage, Node coordinate, Spv.ImageOperands imageOperands, string debugName = null) { this.ResultType = resultType; this.SampledImage = sampledImage; this.Coordinate = coordinate; this.ImageOperands = imageOperands; DebugName = debugName; }
public ImageSampleFootprintNV(SpirvTypeBase resultType, Node sampledImage, Node coordinate, Node granularity, Node coarse, Spv.ImageOperands imageOperands, string debugName = null) { this.ResultType = resultType; this.SampledImage = sampledImage; this.Coordinate = coordinate; this.Granularity = granularity; this.Coarse = coarse; this.ImageOperands = imageOperands; DebugName = debugName; }
public ImageGather(SpirvTypeBase resultType, Node sampledImage, Node coordinate, Node component, Spv.ImageOperands imageOperands, string debugName = null) { this.ResultType = resultType; this.SampledImage = sampledImage; this.Coordinate = coordinate; this.Component = component; this.ImageOperands = imageOperands; DebugName = debugName; }
public static ImageWrite ThenImageWrite(this INodeWithNext node, Node image, Node coordinate, Node texel, Spv.ImageOperands imageOperands, string debugName = null) { return(node.Then(new ImageWrite(image, coordinate, texel, imageOperands, debugName))); }
public ImageDrefGather(SpirvTypeBase resultType, Node sampledImage, Node coordinate, Node d_ref, Spv.ImageOperands imageOperands, string debugName = null) { this.ResultType = resultType; this.SampledImage = sampledImage; this.Coordinate = coordinate; this.D_ref = d_ref; this.ImageOperands = imageOperands; DebugName = debugName; }