private void InsertTransitionResourceBarrier(ID3D12Resource swapChainBuffer, ResourceStates before, ResourceStates after) { var transition = new ResourceTransitionBarrier(swapChainBuffer, before, after, ResourceBarrier.AllSubResources); ResourceBarrier barrier = new ResourceBarrier(transition, ResourceBarrierFlags.None); commandList.ResourceBarrier(barrier); }
/// <summary> /// Initializes a new transition instance of <see cref="ResourceBarrier"/> struct. /// </summary> /// <param name="transition">The transition barrier.</param> /// <param name="flags"></param> public ResourceBarrier(ResourceTransitionBarrier transition, ResourceBarrierFlags flags = ResourceBarrierFlags.None) { Type = ResourceBarrierType.Transition; Flags = flags; _union = new Union { Transition = transition }; }
private void InsertTransitionResourceBarriers(ID3D12Resource swapChainBuffer, ResourceStates[] before, ResourceStates[] after) { ResourceBarrier[] barriers = new ResourceBarrier[before.Length]; for (int i = 0; i < barriers.Length; i++) { var transition = new ResourceTransitionBarrier(swapChainBuffer, before[i], after[i], ResourceBarrier.AllSubResources); barriers[i] = new ResourceBarrier(transition, ResourceBarrierFlags.None); } commandList.ResourceBarrier(barriers); }