Program Listing for File enumerate.hpp

Return to documentation for file (inexor/vulkan-renderer/tools/enumerate.hpp)

#pragma once

#include <volk.h>

#include <vector>

namespace inexor::vulkan_renderer::tools {

[[nodiscard]] std::vector<VkExtensionProperties> get_extension_properties(VkPhysicalDevice physical_device);

[[nodiscard]] std::vector<VkExtensionProperties> get_instance_extensions();

[[nodiscard]] std::vector<VkLayerProperties> get_instance_layers();

[[nodiscard]] std::vector<VkPhysicalDevice> get_physical_devices(VkInstance inst);

[[nodiscard]] std::vector<VkQueueFamilyProperties> get_queue_family_properties(VkPhysicalDevice physical_device);

[[nodiscard]] std::vector<VkSurfaceFormatKHR> get_surface_formats(VkPhysicalDevice physical_device,
                                                                  VkSurfaceKHR surface);

[[nodiscard]] std::vector<VkPresentModeKHR> get_surface_present_modes(VkPhysicalDevice physical_device,
                                                                      VkSurfaceKHR surface);

} // namespace inexor::vulkan_renderer::tools