Lluvia
|
Namespaces | |
impl | |
vulkan | |
Classes | |
class | Buffer |
Objects to manage raw portions of allocated memory. More... | |
class | CommandBuffer |
Class for command buffer. More... | |
struct | DeviceDescriptor |
class | Duration |
class | Flags |
class | ErrorCategory |
Class for error code category. More... | |
class | Image |
Objects to manage images. More... | |
class | ImageDescriptor |
Stores all relevant information for creating ll::Image objects. More... | |
class | ImageView |
Represents portions of a ll::Image to be sent as parameter to a GLSL shader. More... | |
class | ImageViewDescriptor |
Descriptor for ll::ImageView objects. More... | |
class | Interpreter |
struct | VkHeapInfo |
Vulkan heap information. More... | |
class | Memory |
Class to manage allocation of objects into a specific type of memory. More... | |
struct | MemoryAllocationInfo |
Structure to hold the allocation information of objects in memory. More... | |
class | ComputeNode |
Class representing compute nodes. More... | |
class | ComputeNodeDescriptor |
Class for describing a compute node node. More... | |
class | ContainerNode |
class | ContainerNodeDescriptor |
Class for describing a container node. More... | |
class | Node |
struct | NodeBuilderDescriptor |
Describes the attributes of a node builder. More... | |
class | Parameter |
class | PortDescriptor |
class | PushConstants |
class | Object |
Base class for all types that can be used in computer shaders. More... | |
class | Program |
Class representing Vulkan shader modules in SPIR-V representation. More... | |
class | Session |
Class that contains all the state required to run compute operations on a compute device. More... | |
class | SessionDescriptor |
struct | vec3 |
3-vector More... | |
Typedefs | |
using | BufferUsageFlags = ll::Flags< BufferUsageFlagBits, ll::enum_t > |
using | enum_t = uint32_t |
using | ImageUsageFlags = ll::Flags< ImageUsageFlagBits, ll::enum_t > |
using | MemoryPropertyFlags = ll::Flags< MemoryPropertyFlagBits, ll::enum_t > |
using | vec3ui = vec3< uint32_t > |
Enumerations | |
enum class | BufferUsageFlagBits : ll::enum_t { StorageBuffer = static_cast<ll::enum_t>(vk::BufferUsageFlagBits::eStorageBuffer) , TransferDst = static_cast<ll::enum_t>(vk::BufferUsageFlagBits::eTransferDst) , TransferSrc = static_cast<ll::enum_t>(vk::BufferUsageFlagBits::eTransferSrc) , UniformBuffer = static_cast<ll::enum_t>(vk::BufferUsageFlagBits::eUniformBuffer) } |
enum class | ComputeDimension : ll::enum_t { D1 = 1 , D2 = 2 , D3 = 3 } |
Supported compute dimensions. More... | |
enum class | DeviceType : ll::enum_t { Other = static_cast<ll::enum_t>(vk::PhysicalDeviceType::eOther) , DiscreteGPU = static_cast<ll::enum_t>(vk::PhysicalDeviceType::eDiscreteGpu) , IntegratedGPU = static_cast<ll::enum_t>(vk::PhysicalDeviceType::eIntegratedGpu) , VirtualGPU = static_cast<ll::enum_t>(vk::PhysicalDeviceType::eVirtualGpu) , CPU = static_cast<ll::enum_t>(vk::PhysicalDeviceType::eCpu) } |
Image axis enumeration. More... | |
enum class | ErrorCode : ll::enum_t { EnumConversionFailed , MemoryMapFailed , ObjectAllocationError , PortBindingError , InvalidShaderFunctionName , InvalidShaderProgram , BufferCopyError , ProgramCompilationError , InvalidLocalShape , InvalidGridShape , BadEnumCasting , PhysicalDevicesNotFound , KeyNotFound , MemoryCreationError , InvalidNodeState , InterpreterError , PushConstantError , IOError , InvalidArgument , InstanceCreationError , SessionLost , LayerNotFound , ExtensionNotFound , PipelineCreationError , VulkanError , InvalidParameterType } |
Error codes. More... | |
enum class | FloatPrecision : ll::enum_t { FP16 = 0 , FP32 = 1 , FP64 = 2 } |
Floating point precision. More... | |
enum class | ImageAddressMode : uint32_t { Repeat = 0 , MirroredRepeat = 1 , ClampToEdge = 2 , ClampToBorder = 3 , MirrorClampToEdge = 4 } |
Image address mode. More... | |
enum class | ImageAxis : ll::enum_t { U = 0 , V = 1 , W = 2 } |
Image axis enumeration. More... | |
enum class | ChannelType : ll::enum_t { Uint8 = 0 , Int8 = 1 , Uint16 = 2 , Int16 = 3 , Float16 = 4 , Uint32 = 5 , Int32 = 6 , Float32 = 7 , Uint64 = 8 , Int64 = 9 , Float64 = 10 } |
Supported image channel types. More... | |
enum class | ChannelCount : ll::enum_t { C1 = 1 , C2 = 2 , C3 = 3 , C4 = 4 } |
Supported image channel count. More... | |
enum class | ImageFilterMode : ll::enum_t { Nearest = 0 , Linear = 1 } |
Image filter modes. More... | |
enum class | ImageLayout : ll::enum_t { Undefined = static_cast<ll::enum_t>(vk::ImageLayout::eUndefined) , General = static_cast<ll::enum_t>(vk::ImageLayout::eGeneral) , ShaderReadOnlyOptimal = static_cast<ll::enum_t>(vk::ImageLayout::eShaderReadOnlyOptimal) , TransferSrcOptimal = static_cast<ll::enum_t>(vk::ImageLayout::eTransferSrcOptimal) , TransferDstOptimal = static_cast<ll::enum_t>(vk::ImageLayout::eTransferDstOptimal) , Preinitialized = static_cast<ll::enum_t>(vk::ImageLayout::ePreinitialized) } |
enum class | ImageTiling : ll::enum_t { Optimal = static_cast<ll::enum_t>(vk::ImageTiling::eOptimal) , Linear = static_cast<ll::enum_t>(vk::ImageTiling::eLinear) } |
enum class | ImageUsageFlagBits : ll::enum_t { TransferSrc = static_cast<ll::enum_t>(vk::ImageUsageFlagBits::eTransferSrc) , TransferDst = static_cast<ll::enum_t>(vk::ImageUsageFlagBits::eTransferDst) , Sampled = static_cast<ll::enum_t>(vk::ImageUsageFlagBits::eSampled) , Storage = static_cast<ll::enum_t>(vk::ImageUsageFlagBits::eStorage) } |
enum class | MemoryPropertyFlagBits : ll::enum_t { DeviceLocal = static_cast<ll::enum_t>(vk::MemoryPropertyFlagBits::eDeviceLocal) , HostVisible = static_cast<ll::enum_t>(vk::MemoryPropertyFlagBits::eHostVisible) , HostCoherent = static_cast<ll::enum_t>(vk::MemoryPropertyFlagBits::eHostCoherent) , HostCached = static_cast<ll::enum_t>(vk::MemoryPropertyFlagBits::eHostCached) } |
enum class | NodeState : ll::enum_t { Created = 0 , Init = 1 } |
Class for node state. More... | |
enum class | NodeType : ll::enum_t { Compute = 0 , Container = 1 } |
Class for node type. More... | |
enum class | ParameterType : ll::enum_t { Int = 0 , Float = 1 , String = 2 } |
enum class | PortDirection : ll::enum_t { In = 0 , Out = 1 } |
Class for port direction. More... | |
enum class | PortType : ll::enum_t { Buffer = 0 , ImageView = 1 , SampledImageView = 2 , UniformBuffer = 3 } |
Port types. More... | |
enum class | ObjectType : ll::enum_t { Buffer = 0 , Image = 1 , ImageView = 2 } |
Object types. More... | |
Functions | |
constexpr BufferUsageFlags | operator| (BufferUsageFlagBits bit0, BufferUsageFlagBits bit1) noexcept |
constexpr BufferUsageFlags | operator& (BufferUsageFlagBits bit0, BufferUsageFlagBits bit1) noexcept |
constexpr BufferUsageFlags | operator^ (BufferUsageFlagBits bit0, BufferUsageFlagBits bit1) noexcept |
ll::BufferUsageFlags | vectorStringToBufferUsageFlags (const std::vector< std::string > &flagsVector) noexcept |
Converts from a string vector to Vulkan BufferUsageFlags. More... | |
std::vector< std::string > | bufferUsageFlagsToVectorString (const ll::BufferUsageFlags flags) noexcept |
Converst from Vulkan BufferUsageFlags to a vector of strings. More... | |
template<typename T = std::string> | |
T | deviceTypeToString (ll::DeviceType &&deviceType) noexcept |
template<typename T > | |
ll::DeviceType | stringToDeviceType (T &&stringValue) |
template<typename T = std::string> | |
T | errorCodeToString (ll::ErrorCode &&value) noexcept |
Converts from ll::ErrorCode enum value to std::string. More... | |
std::error_code | createErrorCode (ll::ErrorCode errorCode) |
Creates an error code. More... | |
template<typename T > | |
void | throwSystemErrorIf (bool condition, ll::ErrorCode errorCode, T &&msg) |
Throws a std::system_error exception if the condition passed is true. More... | |
template<typename T > | |
void | throwSystemError (ll::ErrorCode errorCode, T &&msg) |
Throws a std::system_error exception with error code and message. More... | |
template<typename T = std::string> | |
T | imageAddressModeToString (ll::ImageAddressMode &&value) noexcept |
Converts from ll::ImageAddressMode enum value to std::string. More... | |
template<typename T > | |
ll::ImageAddressMode | stringToImageAddressMode (T &&stringValue) |
Converts from a string-like object to ll::ImageAddressMode enum. More... | |
template<typename T = std::string> | |
T | imageAxisToString (ll::ImageAxis &&axis) noexcept |
template<typename T > | |
ll::ImageAxis | stringToImageAxis (T &&stringValue) |
template<typename T = std::string> | |
T | channelTypeToString (ll::ChannelType &&value) noexcept |
Converts from ll::ChannelType enum value to std::string. More... | |
template<typename T = std::string> | |
T | channelTypeToString (const ll::ChannelType &value) noexcept |
template<typename T > | |
ll::ChannelType | stringToChannelType (T &&stringValue) |
Converts from a string-like object to ll::ChannelType enum. More... | |
template<typename T = uint32_t> | |
ll::ChannelCount | castChannelCount (T c) |
uint64_t | getChannelTypeSize (ll::ChannelType type) |
Gets size in bytes of a given channel type. More... | |
vk::Format | getVulkanImageFormat (ll::ChannelCount channelCount, ll::ChannelType channelType) noexcept |
Gets the vulkan image format for a given channel count and type. More... | |
template<typename T = std::string> | |
T | imageFilterModeToString (ll::ImageFilterMode &&value) noexcept |
Converts from ll::ImageFilterMode enum value to std::string. More... | |
template<typename T > | |
ll::ImageFilterMode | stringToImageFilterMode (T &&stringValue) |
Converts from a string-like object to ll::ImageFilterMode enum. More... | |
template<typename T = std::string> | |
T | imageLayoutToString (ll::ImageLayout &&layout) noexcept |
Converts from vk::ImageLayout enum value to string. More... | |
template<typename T > | |
ll::ImageLayout | stringToImageLayout (T &&stringValue) |
Converts from a string-like object to ll::ImageLayout. More... | |
template<typename T = std::string> | |
T | ImageTilingToString (ll::ImageTiling &&layout) noexcept |
Converts from ll::ImageTiling enum value to string. More... | |
template<typename T > | |
ll::ImageTiling | stringToImageTiling (T &&stringValue) |
Converts from a string-like object to ll::ImageTiling. More... | |
constexpr ImageUsageFlags | operator| (ImageUsageFlagBits bit0, ImageUsageFlagBits bit1) noexcept |
constexpr ImageUsageFlags | operator& (ImageUsageFlagBits bit0, ImageUsageFlagBits bit1) noexcept |
constexpr ImageUsageFlags | operator^ (ImageUsageFlagBits bit0, ImageUsageFlagBits bit1) noexcept |
ll::ImageUsageFlags | vectorStringToImageUsageFlags (const std::vector< std::string > &flagsVector) noexcept |
Converts from a string vector to Vulkan ImageUsageFlags. More... | |
std::vector< std::string > | ImageUsageFlagsToVectorString (const ll::ImageUsageFlags flags) noexcept |
Converst from Vulkan ImageUsageFlags to a vector of strings. More... | |
constexpr MemoryPropertyFlags | operator| (MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1) noexcept |
constexpr MemoryPropertyFlags | operator& (MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1) noexcept |
constexpr MemoryPropertyFlags | operator^ (MemoryPropertyFlagBits bit0, MemoryPropertyFlagBits bit1) noexcept |
ll::MemoryPropertyFlags | vectorStringToMemoryPropertyFlags (const std::vector< std::string > &flagsVector) noexcept |
Converts from a string vector to Vulkan MemoryPropertyFlags. More... | |
std::vector< std::string > | memoryPropertyFlagsToVectorString (const ll::MemoryPropertyFlags flags) noexcept |
Converts from Vulkan MemoryPropertyFlags to a vector of strings. More... | |
template<typename T = std::string> | |
T | portTypeToString (ll::PortType &&value) noexcept |
Converts from ll::PortType enum value to string. More... | |
template<typename T = std::string> | |
T | portTypeToString (const ll::PortType &value) noexcept |
vk::DescriptorType | portTypeToVkDescriptorType (const ll::PortType ¶m) |
Converts from ll::PortType enum to Vulkan DescriptorType. More... | |
ll::PortType | vkDescriptorTypeToPortType (const vk::DescriptorType &vkDescType) |
Converts from Vulkan DescriptorType to ll::PortType enum. More... | |
template<typename T > | |
ll::PortType | stringToPortType (T &&stringValue) |
Converts from a string-like object to ll::PortType enum. More... | |
template<typename T = std::string> | |
T | objectTypeToString (ll::ObjectType &&value) noexcept |
Converts from ll::ObjectType enum value to std::string. More... | |
template<typename T > | |
ll::ObjectType | stringToObjectType (T &&stringValue) |
Converts from a string-like object to ll::ObjectType enum. More... | |
std::string | toBase64 (const void *ptr, const size_t size) |
Converts a binary array to base-64 string. More... | |
std::vector< uint8_t > | fromBase64 (const std::string &code) |
Converts a std::string with base-64 characters to binary. More... | |
std::shared_ptr< ll::Image > | createAndInitImage (std::shared_ptr< ll::Session > &session, std::shared_ptr< ll::Memory > &memory, const ll::ImageDescriptor &desc, const ll::ImageLayout initialLayout=ll::ImageLayout::General) |
Creates and initialize a ll::Image object. More... | |
std::shared_ptr< ll::ImageView > | createAndInitImageView (std::shared_ptr< ll::Session > &session, std::shared_ptr< ll::Memory > &memory, const ll::ImageDescriptor &imgDescriptor, const ll::ImageViewDescriptor &viewDescriptor, const ll::ImageLayout initialLayout=ll::ImageLayout::General) |
Creates and initialize a ll::ImageView object. More... | |
using ll::BufferUsageFlags = typedef ll::Flags<BufferUsageFlagBits, ll::enum_t> |
using ll::enum_t = typedef uint32_t |
using ll::ImageUsageFlags = typedef ll::Flags<ImageUsageFlagBits, ll::enum_t> |
using ll::MemoryPropertyFlags = typedef ll::Flags<MemoryPropertyFlagBits, ll::enum_t> |
using ll::vec3ui = typedef vec3<uint32_t> |
uint32_t 3-vector.
|
strong |
|
strong |
|
strong |
Supported image channel types.
|
strong |
|
strong |
Image axis enumeration.
Enumerator | |
---|---|
Other | |
DiscreteGPU | |
IntegratedGPU | |
VirtualGPU | |
CPU |
|
strong |
Error codes.
Enumerator | |
---|---|
EnumConversionFailed | Conversion between enum types failed |
MemoryMapFailed | Memory mapping operation (map or unmap) failed |
ObjectAllocationError | Error trying to allocate objects in a memory |
PortBindingError | Error binding a port to a ll::Node |
InvalidShaderFunctionName | Shader function name has invalid name, such as empty string |
InvalidShaderProgram | Shader program is not valid |
BufferCopyError | Error copying data between buffers |
ProgramCompilationError | Error compiling shader module for program |
InvalidLocalShape | Local shape passed to a Compute node is invalid |
InvalidGridShape | Grid shape for a ComputeNode is invalid |
BadEnumCasting | Bad casting of integral value to enum type |
PhysicalDevicesNotFound | No physical devices found |
KeyNotFound | Key not found in a given look up method |
MemoryCreationError | Error creating ll::Memory object |
InvalidNodeState | Invalid ll::Node state |
InterpreterError | Error evaluating interpreter script |
PushConstantError | Error regarding push constant operation |
IOError | IO Error accessing files |
InvalidArgument | Invalid argument |
InstanceCreationError | Incompatible driver |
SessionLost | An object is trying to access a Session already destroyed |
LayerNotFound | A layer required to create a Session was not found |
ExtensionNotFound | An extension required to create a Session was not found |
PipelineCreationError | Error creating a vulkan pipeline object |
VulkanError | Error calling a vulkan function that does not fit on any of the categories above |
InvalidParameterType | Invalid parameter type |
|
strong |
|
strong |
Image address mode.
Defines the behaviour when accessing image values outside of its boundaries.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#_vksampleraddressmode_3 for more information on the aviable address modes.
Enumerator | |
---|---|
Repeat | |
MirroredRepeat | |
ClampToEdge | |
ClampToBorder | |
MirrorClampToEdge |
|
strong |
Image axis enumeration.
Enumerator | |
---|---|
U | value for U or X axis. |
V | value for V or Y axis. |
W | value for W or Z axis. |
|
strong |
Image filter modes.
Enumerator | |
---|---|
Nearest | Nearest filter. |
Linear | Linear filter. |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Class for node type.
Enumerator | |
---|---|
Compute | value for ll::ComputeNode type. |
Container | value for ll::ContainerNode type. |
|
strong |
Object types.
Each value represent one of the ll::Object child classes.
Enumerator | |
---|---|
Buffer | value for ll::Buffer. |
Image | value for ll::Image. |
ImageView | value for ll::ImageView. |
|
strong |
|
strong |
|
strong |
Port types.
Enumerator | |
---|---|
Buffer | value for ll::Buffer type. |
ImageView | value for ll::ImageView without pixel sampler. |
SampledImageView | value for ll::ImageView objects coupled with a pixel sampler. |
UniformBuffer | value for ll::Buffer objects allocated to be used as uniform buffer. |
|
inlinenoexcept |
Converst from Vulkan BufferUsageFlags to a vector of strings.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkBufferUsageFlagBits for more information.
[in] | flags | The Vulkan flags. |
ll::ChannelCount ll::castChannelCount | ( | T | c | ) |
|
inlinenoexcept |
|
inlinenoexcept |
Converts from ll::ChannelType enum value to std::string.
[in] | value |
T | function return type. Defaults to std::string. |
std::string
in ll::impl::ChannelTypeStrings for the enum value. std::shared_ptr<ll::Image> ll::createAndInitImage | ( | std::shared_ptr< ll::Session > & | session, |
std::shared_ptr< ll::Memory > & | memory, | ||
const ll::ImageDescriptor & | desc, | ||
const ll::ImageLayout | initialLayout = ll::ImageLayout::General |
||
) |
std::shared_ptr<ll::ImageView> ll::createAndInitImageView | ( | std::shared_ptr< ll::Session > & | session, |
std::shared_ptr< ll::Memory > & | memory, | ||
const ll::ImageDescriptor & | imgDescriptor, | ||
const ll::ImageViewDescriptor & | viewDescriptor, | ||
const ll::ImageLayout | initialLayout = ll::ImageLayout::General |
||
) |
Creates and initialize a ll::ImageView object.
session | The session used for initiliazing the underlying ll::Image object. | |
memory | The memory used for allocating the image. | |
[in] | imgDescriptor | The image descriptor. |
[in] | viewDescriptor | The view descriptor. |
[in] | initialLayout | The initial layout. Defaults to ll::ImageLayout::eGeneral. |
|
inline |
Creates an error code.
[in] | errorCode | The error code |
|
inlinenoexcept |
|
inlinenoexcept |
Converts from ll::ErrorCode enum value to std::string.
[in] | value |
T | function return type. Defaults to std::string. |
std::string
in ll::impl::ErrorCodeStrings for the enum value. std::vector<uint8_t> ll::fromBase64 | ( | const std::string & | code | ) |
Converts a std::string with base-64 characters to binary.
[in] | code | The base-64 code. |
std::runtime_error | if any character in code does not belong to the base-64 alphabet. |
uint64_t ll::getChannelTypeSize | ( | ll::ChannelType | type | ) |
Gets size in bytes of a given channel type.
[in] | type | The channel type. |
|
noexcept |
Gets the vulkan image format for a given channel count and type.
[in] | channels | The channel count |
[in] | type | The channel type |
|
inlinenoexcept |
Converts from ll::ImageAddressMode enum value to std::string.
[in] | value |
T | function return type. Defaults to std::string. |
std::string
in ll::impl::ImageAddressModeStrings for the enum value.
|
inlinenoexcept |
|
inlinenoexcept |
Converts from ll::ImageFilterMode enum value to std::string.
[in] | value |
T | function return type. Defaults to std::string. |
std::string
in ll::impl::ImageFilterModeStrings for the enum value.
|
inlinenoexcept |
Converts from vk::ImageLayout enum value to string.
[in] | layout | Vulkan image layout enum. |
T | function return type. Defaults to std::string- |
std::string
in ll::impl::VkImageLayoutStrings for the enum value.
|
inlinenoexcept |
Converts from ll::ImageTiling enum value to string.
[in] | layout | Vulkan image layout enum. |
T | function return type. Defaults to std::string- |
std::string
in ll::impl::VkImageTilingStrings for the enum value.
|
inlinenoexcept |
Converst from Vulkan ImageUsageFlags to a vector of strings.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkImageUsageFlagBits for more information.
[in] | flags | The Vulkan flags. |
|
inlinenoexcept |
Converts from Vulkan MemoryPropertyFlags to a vector of strings.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkMemoryPropertyFlagBits for more information.
[in] | flags | The Vulkan flags. |
|
inlinenoexcept |
Converts from ll::ObjectType enum value to std::string.
[in] | value |
T | function return type. Defaults to std::string. |
std::string
in ll::impl::ObjectTypeStrings for the enum value.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Converts from ll::PortType enum value to string.
[in] | value |
T | function return type. Defaults to std::string. |
vk::DescriptorType ll::portTypeToVkDescriptorType | ( | const ll::PortType & | param | ) |
Converts from ll::PortType enum to Vulkan DescriptorType.
[in] | param | The parameter. |
param
.
|
inline |
Converts from a string-like object to ll::ChannelType enum.
This function can be used either with string literals, const char* or std::string
objects. stringValue
parameter is compared against the values in ll::impl::ChannelTypeStrings and the corresponding enum value is returned. The comparison is case sensitive.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
std::out_of_range | if stringValue is not found in ll::impl::ObjectTypeStrings. |
|
inline |
|
inline |
Converts from a string-like object to ll::ImageAddressMode enum.
This function can be used either with string literals, const char*
or std::string
objects. stringValue
parameter is compared against the values in ll::impl::ImageAddressModeStrings and the corresponding enum value is returned. The comparison is case sensitive.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
stringValue
std::out_of_range | if stringValue is not found in ll::impl::ImageAddressModeStrings. |
|
inline |
|
inline |
Converts from a string-like object to ll::ImageFilterMode enum.
This function can be used either with string literals, const char*
or std::string
objects. stringValue
parameter is compared against the values in ll::impl::ImageFilterModeStrings and the corresponding enum value is returned. The comparison is case sensitive.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
stringValue
std::out_of_range | if stringValue is not found in ll::impl::ImageFilterModeStrings. |
|
inline |
Converts from a string-like object to ll::ImageLayout.
This function can be used either with string literals, const char* or std::string
objects. stringValue
parameter is compared against the values in ll::impl::VkImageLayoutStrings and the corresponding enum value is returned. The comparison is case sensitive.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
std::out_of_range | if stringValue is not found in ll::impl::VkImageLayoutStrings. |
|
inline |
Converts from a string-like object to ll::ImageTiling.
This function can be used either with string literals, const char* or std::string
objects. stringValue
parameter is compared against the values in ll::impl::VkImageTilingStrings and the corresponding enum value is returned. The comparison is case sensitive.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
std::out_of_range | if stringValue is not found in ll::impl::VkImageTilingStrings. |
|
inline |
Converts from a string-like object to ll::ObjectType enum.
This function can be used either with string literals, const char* or std::string
objects. stringValue
parameter is compared against the values in ll::impl::ObjectTypeStrings and the corresponding enum value is returned. The comparison is case sensitive.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
std::out_of_range | if stringValue is not found in ll::impl::ObjectTypeStrings. |
|
inline |
Converts from a string-like object to ll::PortType enum.
[in] | stringValue | string-like parameter. String literals and std::string objects are allowed. |
T | stringValue type. T must satisfies std::is_convertible<T, std::string>() |
std::out_of_range | if stringValue is not found in ll::impl::ObjectTypeStrings. |
void ll::throwSystemError | ( | ll::ErrorCode | errorCode, |
T && | msg | ||
) |
Throws a std::system_error exception with error code and message.
[in] | condition | The condition. |
[in] | errorCode | The error code. |
msg | The error message. |
T | Type of the error message. It must be convertible to std::string. |
void ll::throwSystemErrorIf | ( | bool | condition, |
ll::ErrorCode | errorCode, | ||
T && | msg | ||
) |
Throws a std::system_error exception if the condition passed is true.
[in] | condition | The condition. |
[in] | errorCode | The error code. |
msg | The error message. |
T | Type of the error message. It must be convertible to std::string. |
std::string ll::toBase64 | ( | const void * | ptr, |
const size_t | size | ||
) |
Converts a binary array to base-64 string.
[in] | ptr | The pointer to the binary data. |
[in] | size | The size of the data in bytes. |
|
inlinenoexcept |
Converts from a string vector to Vulkan BufferUsageFlags.
The comparison between string values is case sensitive.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkBufferUsageFlagBits for more information.
[in] | flagsVector | The flags vector. Their values must be contained in impl::VkBufferUsageFlagBitsStrings. |
|
inlinenoexcept |
Converts from a string vector to Vulkan ImageUsageFlags.
The comparison between string values is case sensitive.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkImageUsageFlagBits for more information.
[in] | flagsVector | The flags vector. Their values must be contained in impl::ImageUsageFlagBitsStrings. |
|
inlinenoexcept |
Converts from a string vector to Vulkan MemoryPropertyFlags.
The comparison between string values is case sensitive.
See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkMemoryPropertyFlagBits for more information.
[in] | flagsVector | The flags vector. Their values must be contained in impl::VkMemoryPropertyFlagBitsStrings. |
ll::PortType ll::vkDescriptorTypeToPortType | ( | const vk::DescriptorType & | vkDescType | ) |
Converts from Vulkan DescriptorType to ll::PortType enum.
[in] | vkDescType | The Vulkan description type. |
std::system_error | if there is no associated ll::PortType value for vkDescType . Using the values returned by ll::portTypeToVkDescriptorType is guaranteed to not throw exception. |