Ejemplo n.º 1
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources.
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)                 //Managed here
                {
                    if (d3dRenderTarget != null)
                    {
                        d3dRenderTarget.Dispose();
                    }
                    if (d3dDepthStencil != null)
                    {
                        d3dDepthStencil.Dispose();
                    }
                    if (swapChain != null)
                    {
                        swapChain.Dispose();
                    }
                    if (d3dDevice != null)
                    {
                        d3dDevice.Dispose();
                    }
                    if (d3dContext != null)
                    {
                        d3dContext.Dispose();
                    }
                }
                //Unmanaged here

                disposed = true;
            }
        }
Ejemplo n.º 2
0
 private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     // release resources
     CompositionTarget.Rendering -= CompositionTarget_Rendering;
     deviceContext.Dispose();
     device.Dispose();
 }
Ejemplo n.º 3
0
        protected virtual void Dispose(bool disposing)
        {
            if (m_disposed)
            {
                return;
            }

            if (disposing)
            {
                // Dispose of shaders stage will be handled by DeviceContext.Dispose(), now we want to disable access to them:
                m_vertexShaderStage   = null;
                m_geometryShaderStage = null;
                m_pixelShaderStage    = null;
                m_computeShaderStage  = null;
            }
            if (m_isDeferred)
            {
                try
                {
                    m_deviceContext.Dispose();
                }
                catch (Exception ex)
                {
                    MyRender11.Log.Log(Utils.MyLogSeverity.Error, "Exception disposing device context: {0}", ex.ToString());
                    MyRender11.Log.Flush();
                }
            }

            m_disposed = true;
        }
Ejemplo n.º 4
0
        public void Cleanup()
        {
            m_DeviceContext.PixelShader.Set(null);
            m_DeviceContext.VertexShader.Set(null);

            m_SwapChain.Dispose();
            m_SwapChain = null;

            Device.Dispose();
            Device = null;

            m_DeviceContext.Dispose();
            m_DeviceContext = null;

            //--------

            m_ShaderMgr.Dispose();
            m_ShaderMgr = null;

            m_TextureMgr.Dispose();
            m_TextureMgr = null;

            m_TriMeshMgr.Dispose();
            m_TriMeshMgr = null;
        }
Ejemplo n.º 5
0
 public void Dispose()
 {
     OnDeviceDispose();
     context?.Dispose();
     Handle?.Dispose();
     instance = null;
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Check if a feature level is supported by a particular adapter.
        /// </summary>
        /// <param name="adapter">The adapter.</param>
        /// <param name="featureLevel">The feature level.</param>
        /// <returns><c>true</c> if the specified adapter is supporting this feature level; otherwise, <c>false</c>.</returns>
        public static bool IsSupportedFeatureLevel(Adapter adapter, FeatureLevel featureLevel)
        {
            var           device  = new Device(IntPtr.Zero);
            DeviceContext context = null;

            try
            {
                FeatureLevel outputLevel;
                var          result = D3D11.CreateDevice(adapter, DriverType.Unknown, IntPtr.Zero, DeviceCreationFlags.None,
                                                         new[] { featureLevel }, 1, D3D11.SdkVersion, device, out outputLevel,
                                                         out context);
                return(result.Success && outputLevel == featureLevel);
            }
            finally
            {
                if (context != null)
                {
                    context.Dispose();
                }

                if (device.NativePointer != IntPtr.Zero)
                {
                    device.Dispose();
                }
            }
        }
Ejemplo n.º 7
0
 public void Dispose()
 {
     renderTargetView.Dispose();
     swapChain.Dispose();
     d3dDevice.Dispose();
     d3dDeviceContext.Dispose();
     renderControl1.Dispose();
 }
Ejemplo n.º 8
0
 private void DisposeDirectXResources()
 {
     _textFormat.Dispose();
     _dwFactory.Dispose();
     _renderTarget.Dispose();
     _renderTargetView.Dispose();
     _d2DFactory.Dispose();
     _swapChain.Dispose();
     _d3DDeviceContext.Dispose();
     _d3DDevice.Dispose();
 }
Ejemplo n.º 9
0
 public void Dispose()
 {
     renderForm.Dispose();
     swapChain.Dispose();
     d3dDevice.Dispose();
     d3dDeviceContext.Dispose();
     renderTargetView.Dispose();
     blendState.Dispose();
     depthStencilView.Dispose();
     depthStencilState.Dispose();
 }
Ejemplo n.º 10
0
 public void DisposeBase()
 {
     BackBufer.Dispose();
     RenderForm.Dispose();
     RenderTargetView.Dispose();
     GameDevice.Dispose();
     SwapChain.Dispose();
     DeviceContext.Dispose();
     //InputLayoutMain.Dispose();
     // InputSignature.Dispose();
 }
Ejemplo n.º 11
0
 public void Dispose()
 {
     //d3dFactory.Dispose();
     surface.Dispose();
     d2dFactory.Dispose();
     d2dRenderTarget.Dispose();
     d3dDevice.Dispose();
     d3dContext.Dispose();
     swapChain.Dispose();
     target.Dispose();
     targetView.Dispose();
 }
Ejemplo n.º 12
0
 public void Dispose()
 {
     inputLayout.Dispose();
     inputSignature.Dispose();
     triangleVertexBuffer.Dispose();
     vertexShader.Dispose();
     pixelShader.Dispose();
     renderTargetView.Dispose();
     swapChain.Dispose();
     d3dDevice.Dispose();
     d3dDeviceContext.Dispose();
     renderForm.Dispose();
 }
Ejemplo n.º 13
0
 public void Dispose()
 {
     _inputLayout.Dispose();
     _inputSignature.Dispose();
     _triangleVertexBuffer.Dispose();
     _vertexShader.Dispose();
     _pixelShader.Dispose();
     _renderTargetView.Dispose();
     _swapChain.Dispose();
     _d3DDevice.Dispose();
     _d3DDeviceContext.Dispose();
     _renderForm.Dispose();
 }
Ejemplo n.º 14
0
 /// <summary>
 /// frees all resources of this window
 /// </summary>
 public void Dispose()
 {
     Form.Dispose();
     view.Dispose();
     deviceContext.Dispose();
     device.Dispose();
     swapChain.Dispose();
     vertexBuffer.Dispose();
     ratioBuffer.Dispose();
     vertexShader.Dispose();
     pixelShader.Dispose();
     inputLayout.Dispose();
     inputSignature.Dispose();
 }
Ejemplo n.º 15
0
 public void Dispose()
 {
     if (!Initialized)
     {
         return;
     }
     vertexShader.Dispose();
     pixelShader.Dispose();
     inputLayout.Dispose();
     renderTargetView.Dispose();
     swapChain.Dispose();
     d3dDevice.Dispose();
     d3dDeviceContext.Dispose();
     Fonts.Dispose();
 }
Ejemplo n.º 16
0
        public void Dispose()
        {
            inputLayout.Dispose();
            inputSignature.Dispose();
            screenVertexBuffer.Dispose();
            vertexShader.Dispose();
            pixelShader.Dispose();

            renderTargetView.Dispose();
            swapChain.Dispose();
            d3dDevice.Dispose();
            d3dDeviceContext.Dispose();
            renderForm.Dispose();

            UnhookWindowsHookEx(_hookID);
        }
Ejemplo n.º 17
0
 public void Dispose()
 {
     _shaderSignature?.Dispose();
     _vertexShaderByteCode?.Dispose();
     _vertexShader?.Dispose();
     _pixelShaderByteCode?.Dispose();
     _pixelShader?.Dispose();
     _verticesBuffer?.Dispose();
     _inputLayout?.Dispose();
     _contantBuffer?.Dispose();
     _depthBuffer?.Dispose();
     _depthView?.Dispose();
     _context?.ClearState();
     _context?.Flush();
     _swapChain?.Dispose();
     _renderView?.Dispose();
     _backBuffer?.Dispose();
     _device?.Dispose();
     _context?.Dispose();
     _factory?.Dispose();
 }
Ejemplo n.º 18
0
        protected void DisposeDirectXResources()
        {
            PreDestroyDirectXResources();
            SharedBrush.Dispose();
            BackgroundBrush.Dispose();
            ForegroundBrush.Dispose();
            CorrectColorBrush.Dispose();
            WrongColorBrush.Dispose();

            InputTextFormat.Dispose();
            ButtonLabelTextFormat.Dispose();
            SubtitleTextFormat.Dispose();
            CueTextFormat.Dispose();

            DwFactory.Dispose();
            RenderTarget.Dispose();
            RenderTargetView.Dispose();
            D2DFactory.Dispose();
            SwapChain.Dispose();
            D3DDeviceContext.Dispose();
            D3DDevice.Dispose();
        }
Ejemplo n.º 19
0
        protected virtual void Dispose(bool disposing)
        {
            if (m_disposed)
            {
                return;
            }

            if (disposing)
            {
                // Dispose of shaders stage will be handled by DeviceContext.Dispose(), now we want to disable access to them:
                m_vertexShaderStage   = null;
                m_geometryShaderStage = null;
                m_pixelShaderStage    = null;
                m_computeShaderStage  = null;
            }
            if (m_isDeferred)
            {
                m_deviceContext.Dispose();
            }

            m_disposed = true;
        }
Ejemplo n.º 20
0
 public void Dispose()
 {
     context?.Dispose();
     Handle?.Dispose();
 }
Ejemplo n.º 21
0
 public void Dispose()
 {
     _swapChain.Dispose();
     _d3DDevice.Dispose();
     _d3DDeviceContext.Dispose();
 }