protected override void Dispose(bool disposing) { if (disposing) { if (!isDisposed) { dev.WaitIdle(); for (int i = 0; i < swapChain.ImageCount; ++i) { frameBuffers[i]?.Dispose(); } model.Dispose(); pipeline.Dispose(); descLayoutMatrix.Dispose(); descLayoutTextures.Dispose(); descriptorPool.Dispose(); uboMats.Dispose(); vkvgSurf?.Dispose(); vkvgDev.Dispose(); timestampQPool.Dispose(); statPool.Dispose(); } } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (disposing) { if (!isDisposed) { dev.WaitIdle(); for (int i = 0; i < swapChain.ImageCount; ++i) { frameBuffers[i]?.Dispose(); } pbrPipeline.Dispose(); uiPipeline.Dispose(); uiImage?.Dispose(); vkvgSurf?.Dispose(); vkvgDev.Dispose(); #if PIPELINE_STATS timestampQPool?.Dispose(); statPool?.Dispose(); #endif } } base.Dispose(disposing); }
void crow_thread_func() { vkvgDev = new vkvg.Device(instance.Handle, phy.Handle, dev.VkDev.Handle, presentQueue.qFamIndex, vkvg.SampleCount.Sample_4, presentQueue.index); crow = new Interface(vkvgDev, (int)swapChain.Width, (int)swapChain.Height); isRunning = true; while (isRunning) { crow.Update(); Thread.Sleep(2); } dev.WaitIdle(); crow.Dispose(); vkvgDev.Dispose(); crow = null; }
protected override void Dispose(bool disposing) { if (disposing) { if (!isDisposed) { dev.WaitIdle(); for (int i = 0; i < swapChain.ImageCount; ++i) { frameBuffers[i]?.Dispose(); } uiPipeline.Dispose(); descLayout.Dispose(); descriptorPool.Dispose(); vkvgImage?.Dispose(); vkvgSurf?.Dispose(); vkvgDev.Dispose(); } } base.Dispose(disposing); }