/// <summary> /// /// </summary> public unsafe void BeginQuery(SharpVk.QueryPool queryPool, uint query, SharpVk.QueryControlFlags?flags = default(SharpVk.QueryControlFlags?)) { try { SharpVk.QueryControlFlags marshalledFlags = default(SharpVk.QueryControlFlags); if (flags != null) { marshalledFlags = flags.Value; } else { marshalledFlags = default(SharpVk.QueryControlFlags); } Interop.Commands.vkCmdBeginQuery(this.handle, queryPool?.handle ?? default(SharpVk.Interop.QueryPool), query, marshalledFlags); } finally { Interop.HeapUtil.FreeAll(); } }
/// <summary> /// /// </summary> /// <param name="extendedHandle"> /// The CommandBuffer handle to extend. /// </param> public static unsafe void BeginQueryIndexed(this SharpVk.CommandBuffer extendedHandle, SharpVk.QueryPool queryPool, uint query, uint index, SharpVk.QueryControlFlags?flags = default(SharpVk.QueryControlFlags?)) { try { CommandCache commandCache = default(CommandCache); SharpVk.QueryControlFlags marshalledFlags = default(SharpVk.QueryControlFlags); commandCache = extendedHandle.commandCache; if (flags != null) { marshalledFlags = flags.Value; } else { marshalledFlags = default(SharpVk.QueryControlFlags); } SharpVk.Interop.Multivendor.VkCommandBufferBeginQueryIndexedDelegate commandDelegate = commandCache.Cache.vkCmdBeginQueryIndexedEXT; commandDelegate(extendedHandle.handle, queryPool?.handle ?? default(SharpVk.Interop.QueryPool), query, marshalledFlags, index); } finally { Interop.HeapUtil.FreeAll(); } }
public static extern void vkCmdBeginQuery(SharpVk.Interop.CommandBuffer commandBuffer, SharpVk.Interop.QueryPool queryPool, uint query, SharpVk.QueryControlFlags flags);