/// <inheritdoc/> public void Dispose() { NativeDirectCommandQueue.Signal(NativeDirectFence, NextDirectFenceValue); NativeDirectCommandQueue.Wait(NativeDirectFence, NextDirectFenceValue); ShaderResourceViewAllocator.Dispose(); ComputeAllocatorPool.Dispose(); CopyAllocatorPool.Dispose(); DirectAllocatorPool.Dispose(); NativeComputeCommandQueue.Dispose(); NativeCopyCommandQueue.Dispose(); NativeDirectCommandQueue.Dispose(); NativeComputeFence.Dispose(); NativeDirectFence.Dispose(); NativeDirectFence.Dispose(); NativeDevice.Dispose(); }
public void Dispose() { NativeDirectCommandQueue.Signal(NativeDirectFence, NextDirectFenceValue); NativeDirectCommandQueue.Wait(NativeDirectFence, NextDirectFenceValue); CommandList.Dispose(); CopyCommandList.Dispose(); DepthStencilViewAllocator.Dispose(); RenderTargetViewAllocator.Dispose(); ShaderResourceViewAllocator.Dispose(); BundleAllocatorPool.Dispose(); ComputeAllocatorPool.Dispose(); CopyAllocatorPool.Dispose(); DirectAllocatorPool.Dispose(); NativeComputeCommandQueue.Dispose(); NativeCopyCommandQueue.Dispose(); NativeDirectCommandQueue.Dispose(); NativeComputeFence.Dispose(); NativeDirectFence.Dispose(); NativeDirectFence.Dispose(); foreach (IDisposable disposable in Disposables) { disposable.Dispose(); } fenceEvent.Dispose(); nativeDirect3D11Device?.Dispose(); NativeDevice.Dispose(); }