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); } }
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; }
public Result CreateSemaphore(MgSemaphoreCreateInfo pCreateInfo, IMgAllocationCallbacks allocator, out IMgSemaphore pSemaphore) { throw new NotImplementedException(); }
public Result CreateSemaphore(MgSemaphoreCreateInfo pCreateInfo, IMgAllocationCallbacks allocator, out IMgSemaphore pSemaphore) { pSemaphore = mEntrypoint.Semaphore.CreateSemaphore(); return(Result.SUCCESS); }