public Result CreateComputePipelines(IMgPipelineCache pipelineCache, MgComputePipelineCreateInfo[] pCreateInfos, IMgAllocationCallbacks allocator, out IMgPipeline[] pPipelines) { var output = new List <IMgPipeline>(); foreach (var info in pCreateInfos) { var pipeline = new AmtComputePipeline(mDevice, info); output.Add(pipeline); } pPipelines = output.ToArray(); return(Result.SUCCESS); }
public void BindPipeline(IMgPipeline pipeline) { if (pipeline == null) { throw new ArgumentNullException(nameof(pipeline)); } mCurrentPipeline = (AmtComputePipeline)pipeline; var nextIndex = mBag.Pipelines.Push(mCurrentPipeline); mInstructions.Add(new AmtEncodingInstruction { Category = AmtEncoderCategory.Compute, Index = nextIndex, Operation = CmdBindPipeline, }); }