Vulkan-Hpp
vk::su Namespace Reference

Classes

struct  LUID
 
class  CameraManipulator
 
struct  WindowData
 
struct  BufferData
 
struct  ImageData
 
struct  DepthBufferData
 
struct  SurfaceData
 
struct  SwapChainData
 
class  CheckerboardImageGenerator
 
class  MonochromeImageGenerator
 
class  PixelsImageGenerator
 
struct  TextureData
 
struct  UUID
 

Functions

std::ostream & operator<< (std::ostream &os, LUID const &uuid)
 
template<typename T >
bool isZero (const T &_a)
 
template<typename T >
bool isOne (const T &_a)
 
float sign (float s)
 
glm::mat4x4 createModelViewProjectionClipMatrix (vk::Extent2D const &extent)
 
EShLanguage translateShaderStage (vk::ShaderStageFlagBits stage)
 
bool GLSLtoSPV (const vk::ShaderStageFlagBits shaderType, std::string const &glslShader, std::vector< unsigned int > &spvShader)
 
vk::ShaderModule createShaderModule (vk::Device const &device, vk::ShaderStageFlagBits shaderStage, std::string const &shaderText)
 
vk::DeviceMemory allocateDeviceMemory (vk::Device const &device, vk::PhysicalDeviceMemoryProperties const &memoryProperties, vk::MemoryRequirements const &memoryRequirements, vk::MemoryPropertyFlags memoryPropertyFlags)
 
bool contains (std::vector< vk::ExtensionProperties > const &extensionProperties, std::string const &extensionName)
 
vk::DescriptorPool createDescriptorPool (vk::Device const &device, std::vector< vk::DescriptorPoolSize > const &poolSizes)
 
vk::DescriptorSetLayout createDescriptorSetLayout (vk::Device const &device, std::vector< std::tuple< vk::DescriptorType, uint32_t, vk::ShaderStageFlags >> const &bindingData, vk::DescriptorSetLayoutCreateFlags flags)
 
vk::Device createDevice (vk::PhysicalDevice const &physicalDevice, uint32_t queueFamilyIndex, std::vector< std::string > const &extensions, vk::PhysicalDeviceFeatures const *physicalDeviceFeatures, void const *pNext)
 
std::vector< vk::FramebuffercreateFramebuffers (vk::Device const &device, vk::RenderPass &renderPass, std::vector< vk::ImageView > const &imageViews, vk::ImageView const &depthImageView, vk::Extent2D const &extent)
 
vk::Pipeline 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)
 
std::vector< char const * > gatherExtensions (std::vector< std::string > const &extensions, std::vector< vk::ExtensionProperties > const &extensionProperties)
 
std::vector< char const * > gatherLayers (std::vector< std::string > const &layers, std::vector< vk::LayerProperties > const &layerProperties)
 
vk::Instance 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 createRenderPass (vk::Device const &device, vk::Format colorFormat, vk::Format depthFormat, vk::AttachmentLoadOp loadOp, vk::ImageLayout colorFinalLayout)
 
VKAPI_ATTR VkBool32 VKAPI_CALL debugUtilsMessengerCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, VkDebugUtilsMessengerCallbackDataEXT const *pCallbackData, void *)
 
uint32_t findGraphicsQueueFamilyIndex (std::vector< vk::QueueFamilyProperties > const &queueFamilyProperties)
 
std::pair< uint32_t, uint32_t > findGraphicsAndPresentQueueFamilyIndex (vk::PhysicalDevice physicalDevice, vk::SurfaceKHR const &surface)
 
uint32_t findMemoryType (vk::PhysicalDeviceMemoryProperties const &memoryProperties, uint32_t typeBits, vk::MemoryPropertyFlags requirementsMask)
 
std::vector< std::string > getDeviceExtensions ()
 
std::vector< std::string > getInstanceExtensions ()
 
vk::Format pickDepthFormat (vk::PhysicalDevice const &physicalDevice)
 
vk::PresentModeKHR pickPresentMode (std::vector< vk::PresentModeKHR > const &presentModes)
 
vk::SurfaceFormatKHR pickSurfaceFormat (std::vector< vk::SurfaceFormatKHR > const &formats)
 
void setImageLayout (vk::CommandBuffer const &commandBuffer, vk::Image image, vk::Format format, vk::ImageLayout oldImageLayout, vk::ImageLayout newImageLayout)
 
void submitAndWait (vk::Device const &device, vk::Queue const &queue, vk::CommandBuffer const &commandBuffer)
 
void 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 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)
 
WindowData createWindow (std::string const &windowName, vk::Extent2D const &extent)
 
vk::DebugUtilsMessengerCreateInfoEXT makeDebugUtilsMessengerCreateInfoEXT ()
 
vk::StructureChain< vk::InstanceCreateInfo, vk::DebugUtilsMessengerCreateInfoEXTmakeInstanceCreateInfoChain (vk::ApplicationInfo const &applicationInfo, std::vector< char const * > const &layers, std::vector< char const * > const &extensions)
 
template<typename Func >
void oneTimeSubmit (vk::Device const &device, vk::CommandPool const &commandPool, vk::Queue const &queue, Func const &func)
 
template<class T >
void copyToDevice (vk::Device const &device, vk::DeviceMemory const &deviceMemory, T const *pData, size_t count, vk::DeviceSize stride=sizeof(T))
 
template<class T >
void copyToDevice (vk::Device const &device, vk::DeviceMemory const &deviceMemory, T const &data)
 
template<class T >
constexpr VULKAN_HPP_INLINE const T & clamp (const T &v, const T &lo, const T &hi)
 
template<typename TargetType , typename SourceType >
VULKAN_HPP_INLINE TargetType checked_cast (SourceType value)
 

Variables

const float trackballSize = 0.8f
 
const uint64_t FenceTimeout = 100000000
 

Function Documentation

◆ allocateDeviceMemory()

vk::DeviceMemory vk::su::allocateDeviceMemory ( vk::Device const &  device,
vk::PhysicalDeviceMemoryProperties const &  memoryProperties,
vk::MemoryRequirements const &  memoryRequirements,
vk::MemoryPropertyFlags  memoryPropertyFlags 
)

Definition at line 44 of file utils.cpp.

◆ checked_cast()

template<typename TargetType , typename SourceType >
VULKAN_HPP_INLINE TargetType vk::su::checked_cast ( SourceType  value)

Definition at line 341 of file utils.hpp.

◆ clamp()

template<class T >
constexpr VULKAN_HPP_INLINE const T& vk::su::clamp ( const T &  v,
const T &  lo,
const T &  hi 
)
constexpr

Definition at line 72 of file utils.hpp.

◆ contains()

bool vk::su::contains ( std::vector< vk::ExtensionProperties > const &  extensionProperties,
std::string const &  extensionName 
)

Definition at line 54 of file utils.cpp.

◆ copyToDevice() [1/2]

template<class T >
void vk::su::copyToDevice ( vk::Device const &  device,
vk::DeviceMemory const &  deviceMemory,
T const &  data 
)

Definition at line 66 of file utils.hpp.

◆ copyToDevice() [2/2]

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 ) 
)

Definition at line 46 of file utils.hpp.

◆ createDescriptorPool()

vk::DescriptorPool vk::su::createDescriptorPool ( vk::Device const &  device,
std::vector< vk::DescriptorPoolSize > const &  poolSizes 
)

Definition at line 62 of file utils.cpp.

◆ createDescriptorSetLayout()

vk::DescriptorSetLayout vk::su::createDescriptorSetLayout ( vk::Device const &  device,
std::vector< std::tuple< vk::DescriptorType, uint32_t, vk::ShaderStageFlags >> const &  bindingData,
vk::DescriptorSetLayoutCreateFlags  flags 
)

Definition at line 73 of file utils.cpp.

◆ createDevice()

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 
)

Definition at line 86 of file utils.cpp.

◆ createFramebuffers()

std::vector<vk::Framebuffer> vk::su::createFramebuffers ( vk::Device const &  device,
vk::RenderPass renderPass,
std::vector< vk::ImageView > const &  imageViews,
vk::ImageView const &  depthImageView,
vk::Extent2D const &  extent 
)

Definition at line 111 of file utils.cpp.

◆ createGraphicsPipeline()

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 
)

Definition at line 133 of file utils.cpp.

◆ createInstance()

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 
)

Definition at line 279 of file utils.cpp.

◆ createModelViewProjectionClipMatrix()

glm::mat4x4 vk::su::createModelViewProjectionClipMatrix ( vk::Extent2D const &  extent)

Definition at line 31 of file math.cpp.

◆ createRenderPass()

vk::RenderPass vk::su::createRenderPass ( vk::Device const &  device,
vk::Format  colorFormat,
vk::Format  depthFormat,
vk::AttachmentLoadOp  loadOp,
vk::ImageLayout  colorFinalLayout 
)

Definition at line 314 of file utils.cpp.

◆ createShaderModule()

vk::ShaderModule vk::su::createShaderModule ( vk::Device const &  device,
vk::ShaderStageFlagBits  shaderStage,
std::string const &  shaderText 
)

Definition at line 88 of file shaders.cpp.

◆ createWindow()

WindowData vk::su::createWindow ( std::string const &  windowName,
vk::Extent2D const &  extent 
)

Definition at line 996 of file utils.cpp.

◆ debugUtilsMessengerCallback()

VKAPI_ATTR VkBool32 VKAPI_CALL vk::su::debugUtilsMessengerCallback ( VkDebugUtilsMessageSeverityFlagBitsEXT  messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT  messageTypes,
VkDebugUtilsMessengerCallbackDataEXT const *  pCallbackData,
void *   
)

Definition at line 351 of file utils.cpp.

◆ findGraphicsAndPresentQueueFamilyIndex()

std::pair< uint32_t, uint32_t > vk::su::findGraphicsAndPresentQueueFamilyIndex ( vk::PhysicalDevice  physicalDevice,
vk::SurfaceKHR const &  surface 
)

Definition at line 420 of file utils.cpp.

◆ findGraphicsQueueFamilyIndex()

uint32_t vk::su::findGraphicsQueueFamilyIndex ( std::vector< vk::QueueFamilyProperties > const &  queueFamilyProperties)

Definition at line 409 of file utils.cpp.

◆ findMemoryType()

uint32_t vk::su::findMemoryType ( vk::PhysicalDeviceMemoryProperties const &  memoryProperties,
uint32_t  typeBits,
vk::MemoryPropertyFlags  requirementsMask 
)

Definition at line 456 of file utils.cpp.

◆ gatherExtensions()

std::vector<char const *> vk::su::gatherExtensions ( std::vector< std::string > const &  extensions,
std::vector< vk::ExtensionProperties > const &  extensionProperties 
)

Definition at line 224 of file utils.cpp.

◆ gatherLayers()

std::vector<char const *> vk::su::gatherLayers ( std::vector< std::string > const &  layers,
std::vector< vk::LayerProperties > const &  layerProperties 
)

Definition at line 252 of file utils.cpp.

◆ getDeviceExtensions()

std::vector< std::string > vk::su::getDeviceExtensions ( )

Definition at line 472 of file utils.cpp.

◆ getInstanceExtensions()

std::vector< std::string > vk::su::getInstanceExtensions ( )

Definition at line 477 of file utils.cpp.

◆ GLSLtoSPV()

bool vk::su::GLSLtoSPV ( const vk::ShaderStageFlagBits  shaderType,
std::string const &  glslShader,
std::vector< unsigned int > &  spvShader 
)

Definition at line 49 of file shaders.cpp.

◆ isOne()

template<typename T >
bool vk::su::isOne ( const T &  _a)

Definition at line 49 of file CameraManipulator.cpp.

◆ isZero()

template<typename T >
bool vk::su::isZero ( const T &  _a)

Definition at line 44 of file CameraManipulator.cpp.

◆ makeDebugUtilsMessengerCreateInfoEXT()

vk::DebugUtilsMessengerCreateInfoEXT vk::su::makeDebugUtilsMessengerCreateInfoEXT ( )

Definition at line 1025 of file utils.cpp.

◆ makeInstanceCreateInfoChain()

vk::StructureChain< vk::InstanceCreateInfo, vk::DebugUtilsMessengerCreateInfoEXT > vk::su::makeInstanceCreateInfoChain ( vk::ApplicationInfo const &  applicationInfo,
std::vector< char const * > const &  layers,
std::vector< char const * > const &  extensions 
)

Definition at line 1039 of file utils.cpp.

◆ oneTimeSubmit()

template<typename Func >
void vk::su::oneTimeSubmit ( vk::Device const &  device,
vk::CommandPool const &  commandPool,
vk::Queue const &  queue,
Func const &  func 
)

Definition at line 34 of file utils.hpp.

◆ operator<<()

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

Definition at line 81 of file PhysicalDeviceProperties.cpp.

◆ pickDepthFormat()

vk::Format vk::su::pickDepthFormat ( vk::PhysicalDevice const &  physicalDevice)

Definition at line 505 of file utils.cpp.

◆ pickPresentMode()

vk::PresentModeKHR vk::su::pickPresentMode ( std::vector< vk::PresentModeKHR > const &  presentModes)

Definition at line 520 of file utils.cpp.

◆ pickSurfaceFormat()

vk::SurfaceFormatKHR vk::su::pickSurfaceFormat ( std::vector< vk::SurfaceFormatKHR > const &  formats)

Definition at line 539 of file utils.cpp.

◆ setImageLayout()

void vk::su::setImageLayout ( vk::CommandBuffer const &  commandBuffer,
vk::Image  image,
vk::Format  format,
vk::ImageLayout  oldImageLayout,
vk::ImageLayout  newImageLayout 
)

Definition at line 574 of file utils.cpp.

◆ sign()

float vk::su::sign ( float  s)
inline

Definition at line 53 of file CameraManipulator.cpp.

◆ submitAndWait()

void vk::su::submitAndWait ( vk::Device const &  device,
vk::Queue const &  queue,
vk::CommandBuffer const &  commandBuffer 
)

Definition at line 651 of file utils.cpp.

◆ translateShaderStage()

EShLanguage vk::su::translateShaderStage ( vk::ShaderStageFlagBits  stage)

Definition at line 27 of file shaders.cpp.

◆ updateDescriptorSets() [1/2]

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 
)

Definition at line 684 of file utils.cpp.

◆ updateDescriptorSets() [2/2]

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 
)

Definition at line 660 of file utils.cpp.

Variable Documentation

◆ FenceTimeout

const uint64_t vk::su::FenceTimeout = 100000000

Definition at line 31 of file utils.hpp.

◆ trackballSize

const float vk::su::trackballSize = 0.8f

Definition at line 38 of file CameraManipulator.cpp.