/// <summary> /// Initializes a new UAV instance of the <see cref="ResourceBarrier"/> struct. /// </summary> /// <param name="unorderedAccessView">The unordered access view.</param> public ResourceBarrier(ResourceUnorderedAccessViewBarrier unorderedAccessView) { Type = ResourceBarrierType.UnorderedAccessView; Flags = ResourceBarrierFlags.None; _union = new Union { UnorderedAccessView = unorderedAccessView }; }
/// <summary> /// Initializes a new aliasing instance of <see cref="ResourceBarrier"/> struct. /// </summary> /// <param name="aliasing">The aliasing.</param> public ResourceBarrier(ResourceAliasingBarrier aliasing) { Type = ResourceBarrierType.Aliasing; Flags = ResourceBarrierFlags.None; _union = new Union { Aliasing = aliasing }; }
/// <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 }; }
public unsafe void ResourceBarrierTransition( ID3D12Resource resource, ResourceStates stateBefore, ResourceStates stateAfter, int subresource = D3D12.ResourceBarrierAllSubResources, ResourceBarrierFlags flags = ResourceBarrierFlags.None) { var barrier = new ResourceBarrier( new ResourceTransitionBarrier(resource, stateBefore, stateAfter, subresource), flags); ResourceBarrier(1, new IntPtr(&barrier)); }
public unsafe void ResourceBarrierTransition( ID3D12Resource resource, ResourceStates stateBefore, ResourceStates stateAfter, int subresource = -1, ResourceBarrierFlags flags = ResourceBarrierFlags.None) { var barrier = new ResourceBarrier { Type = ResourceBarrierType.Transition, Flags = flags, Transition = new ResourceTransitionBarrier(resource, stateBefore, stateAfter, subresource) }; ResourceBarrier(1, new IntPtr(&barrier)); }
/// <summary> /// Create a new transition resource barrier. /// </summary> /// <param name="resource">The transition resource.</param> /// <param name="stateBefore">The state before.</param> /// <param name="stateAfter">The state after.</param> /// <param name="subresource">The subresource.</param> /// <param name="flags">The transition flags.</param> /// <returns>New instance of <see cref="ResourceBarrier"/> struct.</returns> public static ResourceBarrier BarrierTransition(ID3D12Resource resource, ResourceStates stateBefore, ResourceStates stateAfter, int subresource = D3D12.ResourceBarrierAllSubResources, ResourceBarrierFlags flags = ResourceBarrierFlags.None) { return(new ResourceBarrier(new ResourceTransitionBarrier(resource, stateBefore, stateAfter, subresource), flags)); }