public abstract void PerformResourceTransitionImpl(BarrierType barrierType, Resource resource, ResourceUsage usageBefore, ResourceUsage usageAfter, uint subresource);
public void PerformResourceTransition(BarrierType barrierType, Resource resource, ResourceUsage usageBefore, ResourceUsage usageAfter, uint subresource = AllSubResources) { Debug.Assert(resource != null, "No resource given to transition."); Debug.Assert(usageBefore != usageAfter, "Usage before and afterwards is the same."); PerformResourceTransitionImpl(barrierType, resource, usageBefore, usageAfter, subresource); }
public override void PerformResourceTransitionImpl(BarrierType barrierType, Resource resource, ResourceUsage usageBefore, ResourceUsage usageAfter, uint subresource) { SharpDX.Direct3D12.ResourceStates before = InternalUtils.GetResourceStateDX(usageBefore); SharpDX.Direct3D12.ResourceStates after = InternalUtils.GetResourceStateDX(usageAfter); CommandListD3D12.ResourceBarrierTransition(((ResourceDX)resource).ResourceD3D12, (int) subresource, before, after); }