Exemplo n.º 1
0
        void PrepareSynchronizationPrimitives()
        {
            var semaphoreCreateInfo = new MgSemaphoreCreateInfo {
            };

            Debug.Assert(mConfiguration.Device != null);

            var err = mConfiguration.Device.CreateSemaphore(semaphoreCreateInfo, null, out mPresentCompleteSemaphore);

            Debug.Assert(err == Result.SUCCESS);

            err = mConfiguration.Device.CreateSemaphore(semaphoreCreateInfo, null, out mRenderCompleteSemaphore);
            Debug.Assert(err == Result.SUCCESS);

            var fenceCreateInfo = new MgFenceCreateInfo {
                Flags = MgFenceCreateFlagBits.SIGNALED_BIT,
            };

            var noOfCommandBuffers = drawCmdBuffers.Length;

            for (var i = 0; i < noOfCommandBuffers; ++i)
            {
                IMgFence fence;
                err = mConfiguration.Device.CreateFence(fenceCreateInfo, null, out fence);
                Debug.Assert(err == Result.SUCCESS);
                mWaitFences.Add(fence);
            }
        }
Exemplo n.º 2
0
        private void SetupSemaphores()
        {
            var semaphoreCreateInfo = new MgSemaphoreCreateInfo {
            };
            // Semaphore used to ensures that image presentation is complete before starting to submit again
            var err = mConfiguration.Device.CreateSemaphore(semaphoreCreateInfo, null, out IMgSemaphore pSemaphore);

            Debug.Assert(err == Result.SUCCESS);
            PresentComplete = pSemaphore;
        }
Exemplo n.º 3
0
 public Result CreateSemaphore(MgSemaphoreCreateInfo pCreateInfo, IMgAllocationCallbacks allocator, out IMgSemaphore pSemaphore)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 4
0
 public Result CreateSemaphore(MgSemaphoreCreateInfo pCreateInfo, IMgAllocationCallbacks allocator, out IMgSemaphore pSemaphore)
 {
     pSemaphore = mEntrypoint.Semaphore.CreateSemaphore();
     return(Result.SUCCESS);
 }