Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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);
        }