public void Dispose() { _vertexBuffer.Dispose(); _vertexShader.Dispose(); _pixelShader.Dispose(); _inputLayout.Dispose(); BackBufferTexture?.Dispose(); OffscreenTexture?.Dispose(); RenderTargetView.Dispose(); DepthStencilTexture?.Dispose(); DepthStencilView?.Dispose(); DeviceContext.ClearState(); DeviceContext.Flush(); DeviceContext.Dispose(); Device.Dispose(); SwapChain?.Dispose(); Factory.Dispose(); #if DEBUG if (DXGIGetDebugInterface1(out IDXGIDebug1? dxgiDebug).Success) { dxgiDebug !.ReportLiveObjects(DebugAll, ReportLiveObjectFlags.Summary | ReportLiveObjectFlags.IgnoreInternal); dxgiDebug !.Dispose(); } #endif }
protected override void Destroy() { DepthStencilView?.Dispose(); for (var i = 0; i < RenderTargetViews.Length; i++) { RenderTargetViews[i].Dispose(); } }
public void Dispose() { _vertexBuffer.Dispose(); _vertexShader.Dispose(); _pixelShader.Dispose(); _inputLayout.Dispose(); BackBufferTexture?.Dispose(); OffscreenTexture?.Dispose(); RenderTargetView.Dispose(); DepthStencilTexture?.Dispose(); DepthStencilView?.Dispose(); DeviceContext.ClearState(); DeviceContext.Flush(); DeviceContext.Dispose(); SwapChain?.Dispose(); #if DEBUG uint refCount = Device.Release(); if (refCount > 0) { System.Diagnostics.Debug.WriteLine($"Direct3D11: There are {refCount} unreleased references left on the device"); ID3D11Debug?d3d11Debug = Device.QueryInterfaceOrNull <ID3D11Debug>(); if (d3d11Debug != null) { d3d11Debug.ReportLiveDeviceObjects(ReportLiveDeviceObjectFlags.Detail | ReportLiveDeviceObjectFlags.IgnoreInternal); d3d11Debug.Dispose(); } } #else Device.Dispose(); #endif Factory.Dispose(); #if DEBUG if (DXGIGetDebugInterface1(out IDXGIDebug1? dxgiDebug).Success) { dxgiDebug !.ReportLiveObjects(DebugAll, ReportLiveObjectFlags.Summary | ReportLiveObjectFlags.IgnoreInternal); dxgiDebug !.Dispose(); } #endif }
public void Dispose() { RenderTargetView?.Dispose(); DepthStencilView?.Dispose(); }
public void Dispose() { _depStencilView.Dispose(); }