Kale
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
Kale::Vulkan Namespace Reference

Classes

class  ChildResource
 
class  CommandBuffer
 
class  Core
 
class  Device
 
class  DeviceMemory
 
class  FrameBuffer
 
class  GraphicsPipeline
 
class  ParentResource
 
class  QueueFamilyIndices
 
class  Renderer
 
class  Shader
 
class  SwapChain
 
class  SwapChainSupportDetails
 

Enumerations

enum class  QueueType { Graphics , Presentation }
 
enum class  ShaderType { Fragment , Vertex }
 

Functions

template<typename T >
std::vector< const char * > getExtensions (const std::vector< T > &availableExtensions, const std::vector< std::string > &requiredExtensions, const std::vector< std::string > &requestedExtensions, std::function< std::string(const T &)> mappingFn)
 

Variables

const std::vector< std::string > requiredInstanceExtensions
 
const std::vector< std::string > requestedInstanceExtensions
 
const std::vector< std::string > requiredDeviceExtensions
 
const std::vector< std::string > requestedDeviceExtensions
 

Detailed Description

Forward declaration of vulkan namespace

Enumeration Type Documentation

◆ QueueType

enum class Kale::Vulkan::QueueType
strong

All the types of queues used for the engine

Enumerator
Graphics 
Presentation 

Definition at line 34 of file Device.hpp.

◆ ShaderType

enum class Kale::Vulkan::ShaderType
strong

Represents the type of shader being used

Enumerator
Fragment 
Vertex 

Definition at line 37 of file Shader.hpp.

Function Documentation

◆ getExtensions()

template<typename T >
std::vector< const char * > Kale::Vulkan::getExtensions ( const std::vector< T > & availableExtensions,
const std::vector< std::string > & requiredExtensions,
const std::vector< std::string > & requestedExtensions,
std::function< std::string(const T &)> mappingFn )

Gets the list of vulkan extensions given the available extensions, required extensions, and requested extensions

Exceptions
Throwswhen a required extension is not found
Parameters
availableExtensionsThe available extensions directly from a vulkan enumeration
requiredExtensionsThe required extensions, if any of these are missing an exception will be thrown
requestedExtensionsThe requested extensions, these will be added if available
mappingFnA lambda to map from a vulkan type or any other type to strings
Returns
The list of extensions accounting for all of the above

Definition at line 37 of file Extensions.hpp.

Variable Documentation

◆ requestedDeviceExtensions

const std::vector<std::string> Kale::Vulkan::requestedDeviceExtensions
inline
Initial value:
= {
"VK_KHR_portability_subset"
}

Vulkan Device extensions which are not required but will be used if present/available

Definition at line 101 of file Extensions.hpp.

◆ requestedInstanceExtensions

const std::vector<std::string> Kale::Vulkan::requestedInstanceExtensions
inline
Initial value:
= {
}

Vulkan Instance extensions which are not required but will be used if present/available

Definition at line 84 of file Extensions.hpp.

◆ requiredDeviceExtensions

const std::vector<std::string> Kale::Vulkan::requiredDeviceExtensions
inline
Initial value:
= {
VK_KHR_SWAPCHAIN_EXTENSION_NAME
}

Vulkan Device extensions which are required, if these extensions are not found then the program will not consider the physical device for usage

Definition at line 94 of file Extensions.hpp.

◆ requiredInstanceExtensions

const std::vector<std::string> Kale::Vulkan::requiredInstanceExtensions
inline
Initial value:
{
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
}

Vulkan Instance extensions which are required, if these extensions are not found then the program will exit

Definition at line 77 of file Extensions.hpp.