public FenceGetWin32HandleInfoKHR ( StructureType?sType = StructureType.FenceGetWin32HandleInfoKhr, void *pNext = null, Fence?fence = null, ExternalFenceHandleTypeFlags?handleType = null ) : this() { if (sType is not null) { SType = sType.Value; } if (pNext is not null) { PNext = pNext; } if (fence is not null) { Fence = fence.Value; } if (handleType is not null) { HandleType = handleType.Value; } }
public ImportFenceWin32HandleInfoKHR ( StructureType?sType = StructureType.ImportFenceWin32HandleInfoKhr, void *pNext = null, Fence?fence = null, FenceImportFlags?flags = null, ExternalFenceHandleTypeFlags?handleType = null, IntPtr?handle = null, IntPtr?name = null ) : this() { if (sType is not null) { SType = sType.Value; } if (pNext is not null) { PNext = pNext; } if (fence is not null) { Fence = fence.Value; } if (flags is not null) { Flags = flags.Value; } if (handleType is not null) { HandleType = handleType.Value; } if (handle is not null) { Handle = handle.Value; } if (name is not null) { Name = name.Value; } }
public AcquireNextImageInfoKHR ( StructureType?sType = StructureType.AcquireNextImageInfoKhr, void *pNext = null, SwapchainKHR?swapchain = null, ulong?timeout = null, Semaphore?semaphore = null, Fence?fence = null, uint?deviceMask = null ) : this() { if (sType is not null) { SType = sType.Value; } if (pNext is not null) { PNext = pNext; } if (swapchain is not null) { Swapchain = swapchain.Value; } if (timeout is not null) { Timeout = timeout.Value; } if (semaphore is not null) { Semaphore = semaphore.Value; } if (fence is not null) { Fence = fence.Value; } if (deviceMask is not null) { DeviceMask = deviceMask.Value; } }
public ImportFenceFdInfoKHR ( StructureType?sType = StructureType.ImportFenceFDInfoKhr, void *pNext = null, Fence?fence = null, FenceImportFlags?flags = null, ExternalFenceHandleTypeFlags?handleType = null, int?fd = null ) : this() { if (sType is not null) { SType = sType.Value; } if (pNext is not null) { PNext = pNext; } if (fence is not null) { Fence = fence.Value; } if (flags is not null) { Flags = flags.Value; } if (handleType is not null) { HandleType = handleType.Value; } if (fd is not null) { Fd = fd.Value; } }
public unsafe void Submit( ReadOnlySpan <Semaphore> waitSemaphores, ReadOnlySpan <PipelineStageFlags> waitDstStageMask, ReadOnlySpan <Semaphore> signalSemaphores, Fence?fence = null) { EndRecording(); if (!fence.HasValue) { fence = _fence; } fixed(Semaphore *pWaitSemaphores = waitSemaphores, pSignalSemaphores = signalSemaphores) { fixed(PipelineStageFlags *pWaitDstStageMask = waitDstStageMask) { var commandBuffer = InternalHandle; var submitInfo = new SubmitInfo { SType = StructureType.SubmitInfo, WaitSemaphoreCount = waitSemaphores != null ? (uint)waitSemaphores.Length : 0, PWaitSemaphores = pWaitSemaphores, PWaitDstStageMask = pWaitDstStageMask, CommandBufferCount = 1, PCommandBuffers = &commandBuffer, SignalSemaphoreCount = signalSemaphores != null ? (uint)signalSemaphores.Length : 0, PSignalSemaphores = pSignalSemaphores, }; _device.Api.ResetFences(_device.InternalHandle, 1, fence.Value); _device.Submit(submitInfo, fence.Value); } } _commandBufferPool.DisposeCommandBuffer(this); }