예제 #1
0
        /// <inheritdoc/>
        protected internal override void OnDestroyed()
        {
            GraphicsDevice.Collect(NativeQueryPool);
            NativeQueryPool = VkQueryPool.Null;

            base.OnDestroyed();
        }
예제 #2
0
 public static extern VkResult GetQueryPoolResults(
     VkDevice device,
     VkQueryPool queryPool,
     uint firstQuery,
     uint queryCount,
     ulong dataSize,
     IntPtr pData,
     ulong stride,
     VkQueryResultFlags flags
     );
예제 #3
0
 public static extern void CmdCopyQueryPoolResults(
     VkCommandBuffer commandBuffer,
     VkQueryPool queryPool,
     uint firstQuery,
     uint queryCount,
     VkBuffer dstBuffer,
     ulong dstOffset,
     ulong stride,
     VkQueryResultFlags flags
     );
예제 #4
0
 public static extern void DestroyQueryPool(
     VkDevice device,
     VkQueryPool queryPool,
     IntPtr pAllocator
     );
예제 #5
0
 public static extern VkResult CreateQueryPool(
     VkDevice device,
     ref VkQueryPoolCreateInfo pCreateInfo,
     IntPtr pAllocator,
     out VkQueryPool pQueryPool
     );
예제 #6
0
 public static extern void CmdWriteTimestamp(
     VkCommandBuffer commandBuffer,
     VkPipelineStageFlags pipelineStage,
     VkQueryPool queryPool,
     uint query
     );
예제 #7
0
 public static extern void CmdResetQueryPool(
     VkCommandBuffer commandBuffer,
     VkQueryPool queryPool,
     uint firstQuery,
     uint queryCount
     );
예제 #8
0
 public static extern void CmdEndQuery(
     VkCommandBuffer commandBuffer,
     VkQueryPool queryPool,
     uint query
     );
예제 #9
0
 public static extern void CmdBeginQuery(
     VkCommandBuffer commandBuffer,
     VkQueryPool queryPool,
     uint query,
     VkQueryControlFlags flags
     );