Vulkan-Hpp
utils.hpp File Reference
#include <vulkan/vulkan.hpp>
#include <GLFW/glfw3.h>
#include <iostream>
#include <limits>
#include <map>
#include <memory>

Go to the source code of this file.

Classes

struct  vk::su::WindowData
 
struct  vk::su::BufferData
 
struct  vk::su::ImageData
 
struct  vk::su::DepthBufferData
 
struct  vk::su::SurfaceData
 
struct  vk::su::SwapChainData
 
class  vk::su::CheckerboardImageGenerator
 
class  vk::su::MonochromeImageGenerator
 
class  vk::su::PixelsImageGenerator
 
struct  vk::su::TextureData
 
struct  vk::su::UUID
 

Namespaces

 vk
 
 vk::su
 

Macros

#define GLFW_INCLUDE_NONE
 

Functions

template<typename Func >
void vk::su::oneTimeSubmit (vk::Device const &device, vk::CommandPool const &commandPool, vk::Queue const &queue, Func const &func)
 
template<class T >
void vk::su::copyToDevice (vk::Device const &device, vk::DeviceMemory const &deviceMemory, T const *pData, size_t count, vk::DeviceSize stride=sizeof(T))
 
template<class T >
void vk::su::copyToDevice (vk::Device const &device, vk::DeviceMemory const &deviceMemory, T const &data)
 
template<class T >
constexpr VULKAN_HPP_INLINE const T & vk::su::clamp (const T &v, const T &lo, const T &hi)
 
void vk::su::setImageLayout (vk::CommandBuffer const &commandBuffer, vk::Image image, vk::Format format, vk::ImageLayout oldImageLayout, vk::ImageLayout newImageLayout)
 
WindowData vk::su::createWindow (std::string const &windowName, vk::Extent2D const &extent)
 
template<typename TargetType , typename SourceType >
VULKAN_HPP_INLINE TargetType vk::su::checked_cast (SourceType value)
 
vk::DeviceMemory vk::su::allocateDeviceMemory (vk::Device const &device, vk::PhysicalDeviceMemoryProperties const &memoryProperties, vk::MemoryRequirements const &memoryRequirements, vk::MemoryPropertyFlags memoryPropertyFlags)
 
bool vk::su::contains (std::vector< vk::ExtensionProperties > const &extensionProperties, std::string const &extensionName)
 
vk::DescriptorPool vk::su::createDescriptorPool (vk::Device const &device, std::vector< vk::DescriptorPoolSize > const &poolSizes)
 
vk::DescriptorSetLayout vk::su::createDescriptorSetLayout (vk::Device const &device, std::vector< std::tuple< vk::DescriptorType, uint32_t, vk::ShaderStageFlags >> const &bindingData, vk::DescriptorSetLayoutCreateFlags flags)
 
vk::Device vk::su::createDevice (vk::PhysicalDevice const &physicalDevice, uint32_t queueFamilyIndex, std::vector< std::string > const &extensions, vk::PhysicalDeviceFeatures const *physicalDeviceFeatures, void const *pNext)
 
std::vector< vk::Framebuffervk::su::createFramebuffers (vk::Device const &device, vk::RenderPass &renderPass, std::vector< vk::ImageView > const &imageViews, vk::ImageView const &depthImageView, vk::Extent2D const &extent)
 
vk::Pipeline vk::su::createGraphicsPipeline (vk::Device const &device, vk::PipelineCache const &pipelineCache, std::pair< vk::ShaderModule, vk::SpecializationInfo const * > const &vertexShaderData, std::pair< vk::ShaderModule, vk::SpecializationInfo const * > const &fragmentShaderData, uint32_t vertexStride, std::vector< std::pair< vk::Format, uint32_t >> const &vertexInputAttributeFormatOffset, vk::FrontFace frontFace, bool depthBuffered, vk::PipelineLayout const &pipelineLayout, vk::RenderPass const &renderPass)
 
vk::Instance vk::su::createInstance (std::string const &appName, std::string const &engineName, std::vector< std::string > const &layers, std::vector< std::string > const &extensions, uint32_t apiVersion)
 
vk::RenderPass vk::su::createRenderPass (vk::Device const &device, vk::Format colorFormat, vk::Format depthFormat, vk::AttachmentLoadOp loadOp, vk::ImageLayout colorFinalLayout)
 
VKAPI_ATTR VkBool32 VKAPI_CALL vk::su::debugUtilsMessengerCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, VkDebugUtilsMessengerCallbackDataEXT const *pCallbackData, void *)
 
uint32_t vk::su::findGraphicsQueueFamilyIndex (std::vector< vk::QueueFamilyProperties > const &queueFamilyProperties)
 
std::pair< uint32_t, uint32_t > vk::su::findGraphicsAndPresentQueueFamilyIndex (vk::PhysicalDevice physicalDevice, vk::SurfaceKHR const &surface)
 
uint32_t vk::su::findMemoryType (vk::PhysicalDeviceMemoryProperties const &memoryProperties, uint32_t typeBits, vk::MemoryPropertyFlags requirementsMask)
 
std::vector< char const * > vk::su::gatherExtensions (std::vector< std::string > const &extensions, std::vector< vk::ExtensionProperties > const &extensionProperties)
 
std::vector< char const * > vk::su::gatherLayers (std::vector< std::string > const &layers, std::vector< vk::LayerProperties > const &layerProperties)
 
std::vector< std::string > vk::su::getDeviceExtensions ()
 
std::vector< std::string > vk::su::getInstanceExtensions ()
 
vk::DebugUtilsMessengerCreateInfoEXT vk::su::makeDebugUtilsMessengerCreateInfoEXT ()
 
vk::StructureChain< vk::InstanceCreateInfo, vk::DebugUtilsMessengerCreateInfoEXTvk::su::makeInstanceCreateInfoChain (vk::ApplicationInfo const &applicationInfo, std::vector< char const * > const &layers, std::vector< char const * > const &extensions)
 
vk::Format vk::su::pickDepthFormat (vk::PhysicalDevice const &physicalDevice)
 
vk::PresentModeKHR vk::su::pickPresentMode (std::vector< vk::PresentModeKHR > const &presentModes)
 
vk::SurfaceFormatKHR vk::su::pickSurfaceFormat (std::vector< vk::SurfaceFormatKHR > const &formats)
 
void vk::su::submitAndWait (vk::Device const &device, vk::Queue const &queue, vk::CommandBuffer const &commandBuffer)
 
void vk::su::updateDescriptorSets (vk::Device const &device, vk::DescriptorSet const &descriptorSet, std::vector< std::tuple< vk::DescriptorType, vk::Buffer const &, vk::DeviceSize, vk::BufferView const & >> const &bufferData, vk::su::TextureData const &textureData, uint32_t bindingOffset)
 
void vk::su::updateDescriptorSets (vk::Device const &device, vk::DescriptorSet const &descriptorSet, std::vector< std::tuple< vk::DescriptorType, vk::Buffer const &, vk::DeviceSize, vk::BufferView const & >> const &bufferData, std::vector< vk::su::TextureData > const &textureData, uint32_t bindingOffset)
 
std::ostream & operator<< (std::ostream &os, vk::su::UUID const &uuid)
 

Variables

const uint64_t vk::su::FenceTimeout = 100000000
 

Macro Definition Documentation

◆ GLFW_INCLUDE_NONE

#define GLFW_INCLUDE_NONE

Definition at line 20 of file utils.hpp.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
vk::su::UUID const &  uuid 
)

Definition at line 1061 of file utils.cpp.