Exemplo n.º 1
0
 /// <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
     };
 }
Exemplo n.º 2
0
 /// <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
     };
 }
Exemplo n.º 3
0
 /// <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
     };
 }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 6
0
 /// <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));
 }