2#ifndef LIBSBX_GRAPHICS_DEVICES_QUERY_POOL_HPP_
3#define LIBSBX_GRAPHICS_DEVICES_QUERY_POOL_HPP_
5#include <vulkan/vulkan.h>
7#include <libsbx/units/time.hpp>
9#include <libsbx/graphics/commands/command_buffer.hpp>
10#include <libsbx/graphics/devices/logical_device.hpp>
12namespace sbx::graphics {
18 using handle_type = VkQueryPool;
28 auto handle()
const -> handle_type;
30 operator handle_type()
const;
34 auto write_timestamp(
command_buffer&
command_buffer,
const VkPipelineStageFlagBits stage,
const std::uint32_t query_index)
const -> void;
36 auto get_duration(
const std::uint32_t begin,
const std::uint32_t end)
const ->
units::millisecond;
42 std::uint32_t _query_count;
Definition: command_buffer.hpp:15
Definition: logical_device.hpp:61
Definition: query_pool.hpp:14
Definition: quantity.hpp:66