Lluvia
ll::impl Namespace Reference

Classes

class  ZipArchive
 
struct  MemoryAllocationTryInfo
 
class  MemoryFreeSpaceManager
 

Functions

constexpr ll::BufferUsageFlags fromVkBufferUsageFlags (const vk::BufferUsageFlags &flags) noexcept
 
vk::BufferUsageFlags toVkBufferUsageFlags (const ll::BufferUsageFlags &flags) noexcept
 
constexpr ll::DeviceType fromVkPhysicalDeviceType (const vk::PhysicalDeviceType &physicalDeviceType) noexcept
 
template<typename E , std::size_t N, const std::array< std::tuple< const char *, E >, N > & values>
std::string enumToString (E &&value) noexcept
 
template<typename E , std::size_t N, const std::array< std::tuple< const char *, E >, N > & values>
std::string enumToString (const E &value) noexcept
 
template<typename E , typename T , std::size_t N, const std::array< std::tuple< const char *, E >, N > & values>
stringToEnum (T &&stringValue)
 
template<typename E , typename Ebits , std::size_t N, const std::array< std::tuple< const char *, Ebits >, N > & values>
vectorStringToFlags (const std::vector< std::string > &flagsVector) noexcept
 
template<typename E , typename Ebits , std::size_t N, const std::array< std::tuple< const char *, Ebits >, N > & values>
std::vector< std::string > flagsToVectorString (E flags) noexcept
 
constexpr ll::ImageLayout fromVkImageLayout (const vk::ImageLayout &flags) noexcept
 
constexpr vk::ImageLayout toVkImageLayout (const ll::ImageLayout &flags) noexcept
 
constexpr ll::ImageTiling fromVkImageTiling (const vk::ImageTiling &flags) noexcept
 
constexpr vk::ImageTiling toVkImageTiling (const ll::ImageTiling &flags) noexcept
 
constexpr ll::ImageUsageFlags fromVkImageUsageFlags (const vk::ImageUsageFlags &flags) noexcept
 
vk::ImageUsageFlags toVkImageUsageFlags (const ll::ImageUsageFlags &flags) noexcept
 
constexpr ll::MemoryPropertyFlags fromVkMemoryPropertyFlags (const vk::MemoryPropertyFlags &flags) noexcept
 

Variables

constexpr const std::array< std::tuple< const char *, ll::BufferUsageFlagBits >, 4 > BufferUsageFlagBitsStrings
 
constexpr const std::array< std::tuple< const char *, ll::ComputeDimension >, 3 > ComputeDimensionStrings
 
constexpr const std::array< std::tuple< const char *, ll::DeviceType >, 5 > DeviceTypeStrings
 Image axis strings used for converting ll::DeviceType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ErrorCode >, 26 > ErrorCodeStrings
 
constexpr const std::array< std::tuple< const char *, ll::FloatPrecision >, 3 > FloatPrecisionStrings
 
constexpr const std::array< std::tuple< const char *, ll::ImageAddressMode >, 5 > ImageAddressModeStrings
 Image filter mode strings used for converting ll::ImageAddressMode to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ImageAxis >, 3 > ImageAxisStrings
 Image axis strings used for converting ll::ImageAxis to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ChannelType >, 11 > ChannelTypeStrings
 Channel type string values used for converting ll::ChannelType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ChannelCount >, 4 > ChannelCountStrings
 Channel type string values used for converting ll::ChannelType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ImageFilterMode >, 2 > ImageFilterModeStrings
 Image filter mode strings used for converting ll::ImageFilterMode to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ImageLayout >, 6 > ImageLayoutStrings
 
constexpr const std::array< std::tuple< const char *, ll::ImageTiling >, 2 > ImageTilingStrings
 
constexpr const std::array< std::tuple< const char *, ll::ImageUsageFlagBits >, 4 > ImageUsageFlagBitsStrings
 
constexpr const std::array< std::tuple< const char *, ll::MemoryPropertyFlagBits >, 4 > MemoryPropertyFlagBitsStrings
 
constexpr const std::array< std::tuple< const char *, ll::NodeState >, 2 > NodeStateStrings
 Node state string values used for converting ll::NodeState to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::NodeType >, 2 > NodeTypeStrings
 Node type string values used for converting ll::NodeType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ParameterType >, 3 > ParameterTypeStrings
 String values used for converting ll::ParameterType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::PortDirection >, 2 > PortDirectionStrings
 Port direction string values used for converting ll::PortDirection to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::PortType >, 4 > PortTypeStrings
 Port type string values used for converting ll::PortType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ObjectType >, 3 > ObjectTypeStrings
 Object type string values used for converting ll::ObjectType to std::string and vice-versa. More...
 

Function Documentation

◆ enumToString() [1/2]

template<typename E , std::size_t N, const std::array< std::tuple< const char *, E >, N > & values>
std::string ll::impl::enumToString ( const E &  value)
inlinenoexcept

◆ enumToString() [2/2]

template<typename E , std::size_t N, const std::array< std::tuple< const char *, E >, N > & values>
std::string ll::impl::enumToString ( E &&  value)
inlinenoexcept

◆ flagsToVectorString()

template<typename E , typename Ebits , std::size_t N, const std::array< std::tuple< const char *, Ebits >, N > & values>
std::vector<std::string> ll::impl::flagsToVectorString ( flags)
inlinenoexcept

◆ fromVkBufferUsageFlags()

constexpr ll::BufferUsageFlags ll::impl::fromVkBufferUsageFlags ( const vk::BufferUsageFlags &  flags)
constexprnoexcept

◆ fromVkImageLayout()

constexpr ll::ImageLayout ll::impl::fromVkImageLayout ( const vk::ImageLayout &  flags)
constexprnoexcept

◆ fromVkImageTiling()

constexpr ll::ImageTiling ll::impl::fromVkImageTiling ( const vk::ImageTiling &  flags)
constexprnoexcept

◆ fromVkImageUsageFlags()

constexpr ll::ImageUsageFlags ll::impl::fromVkImageUsageFlags ( const vk::ImageUsageFlags &  flags)
constexprnoexcept

◆ fromVkMemoryPropertyFlags()

constexpr ll::MemoryPropertyFlags ll::impl::fromVkMemoryPropertyFlags ( const vk::MemoryPropertyFlags &  flags)
constexprnoexcept

◆ fromVkPhysicalDeviceType()

constexpr ll::DeviceType ll::impl::fromVkPhysicalDeviceType ( const vk::PhysicalDeviceType &  physicalDeviceType)
constexprnoexcept

◆ stringToEnum()

template<typename E , typename T , std::size_t N, const std::array< std::tuple< const char *, E >, N > & values>
E ll::impl::stringToEnum ( T &&  stringValue)
inline

◆ toVkBufferUsageFlags()

vk::BufferUsageFlags ll::impl::toVkBufferUsageFlags ( const ll::BufferUsageFlags flags)
inlinenoexcept

◆ toVkImageLayout()

constexpr vk::ImageLayout ll::impl::toVkImageLayout ( const ll::ImageLayout flags)
constexprnoexcept

◆ toVkImageTiling()

constexpr vk::ImageTiling ll::impl::toVkImageTiling ( const ll::ImageTiling flags)
constexprnoexcept

◆ toVkImageUsageFlags()

vk::ImageUsageFlags ll::impl::toVkImageUsageFlags ( const ll::ImageUsageFlags flags)
inlinenoexcept

◆ vectorStringToFlags()

template<typename E , typename Ebits , std::size_t N, const std::array< std::tuple< const char *, Ebits >, N > & values>
E ll::impl::vectorStringToFlags ( const std::vector< std::string > &  flagsVector)
inlinenoexcept

Variable Documentation

◆ BufferUsageFlagBitsStrings

constexpr const std::array<std::tuple<const char*, ll::BufferUsageFlagBits>, 4> ll::impl::BufferUsageFlagBitsStrings
constexpr
Initial value:
{{std::make_tuple("StorageBuffer", ll::BufferUsageFlagBits::StorageBuffer),
std::make_tuple("TransferDst", ll::BufferUsageFlagBits::TransferDst),
std::make_tuple("TransferSrc", ll::BufferUsageFlagBits::TransferSrc),
std::make_tuple("UniformBuffer", ll::BufferUsageFlagBits::UniformBuffer)}}

◆ ChannelCountStrings

constexpr const std::array<std::tuple<const char*, ll::ChannelCount>, 4> ll::impl::ChannelCountStrings
constexpr
Initial value:
{{std::make_tuple("C1", ll::ChannelCount::C1),
std::make_tuple("C2", ll::ChannelCount::C2),
std::make_tuple("C3", ll::ChannelCount::C3),
std::make_tuple("C4", ll::ChannelCount::C4)}}

Channel type string values used for converting ll::ChannelType to std::string and vice-versa.

See also
ll::ChannelType enum values for this array.

◆ ChannelTypeStrings

constexpr const std::array<std::tuple<const char*, ll::ChannelType>, 11> ll::impl::ChannelTypeStrings
constexpr
Initial value:
{{
std::make_tuple("Uint8", ll::ChannelType::Uint8),
std::make_tuple("Int8", ll::ChannelType::Int8),
std::make_tuple("Uint16", ll::ChannelType::Uint16),
std::make_tuple("Int16", ll::ChannelType::Int16),
std::make_tuple("Float16", ll::ChannelType::Float16),
std::make_tuple("Uint32", ll::ChannelType::Uint32),
std::make_tuple("Int32", ll::ChannelType::Int32),
std::make_tuple("Float32", ll::ChannelType::Float32),
std::make_tuple("Uint64", ll::ChannelType::Uint64),
std::make_tuple("Int64", ll::ChannelType::Int64),
std::make_tuple("Float64", ll::ChannelType::Float64),
}}

Channel type string values used for converting ll::ChannelType to std::string and vice-versa.

See also
ll::ChannelType enum values for this array.

◆ ComputeDimensionStrings

constexpr const std::array<std::tuple<const char*, ll::ComputeDimension>, 3> ll::impl::ComputeDimensionStrings
constexpr
Initial value:

◆ DeviceTypeStrings

constexpr const std::array<std::tuple<const char*, ll::DeviceType>, 5> ll::impl::DeviceTypeStrings
constexpr
Initial value:
{{
std::make_tuple("Other", ll::DeviceType::Other),
std::make_tuple("DiscreteGPU", ll::DeviceType::DiscreteGPU),
std::make_tuple("IntegratedGPU", ll::DeviceType::IntegratedGPU),
std::make_tuple("VirtualGPU", ll::DeviceType::VirtualGPU),
std::make_tuple("CPU", ll::DeviceType::CPU),
}}

Image axis strings used for converting ll::DeviceType to std::string and vice-versa.

See also
ll::DeviceType enum values for this array.

◆ ErrorCodeStrings

constexpr const std::array<std::tuple<const char*, ll::ErrorCode>, 26> ll::impl::ErrorCodeStrings
constexpr
Initial value:
{{std::make_tuple("EnumConversionFailed", ll::ErrorCode::EnumConversionFailed),
std::make_tuple("MemoryMapFailed", ll::ErrorCode::MemoryMapFailed),
std::make_tuple("ObjectAllocationError", ll::ErrorCode::ObjectAllocationError),
std::make_tuple("PortBindingError", ll::ErrorCode::PortBindingError),
std::make_tuple("InvalidShaderFunctionName", ll::ErrorCode::InvalidShaderFunctionName),
std::make_tuple("InvalidShaderProgram", ll::ErrorCode::InvalidShaderProgram),
std::make_tuple("BufferCopyError", ll::ErrorCode::BufferCopyError),
std::make_tuple("ProgramCompilationError", ll::ErrorCode::ProgramCompilationError),
std::make_tuple("InvalidLocalShape", ll::ErrorCode::InvalidLocalShape),
std::make_tuple("InvalidGridShape", ll::ErrorCode::InvalidGridShape),
std::make_tuple("BadEnumCasting", ll::ErrorCode::BadEnumCasting),
std::make_tuple("PhysicalDevicesNotFound", ll::ErrorCode::PhysicalDevicesNotFound),
std::make_tuple("KeyNotFound", ll::ErrorCode::KeyNotFound),
std::make_tuple("MemoryCreationError", ll::ErrorCode::MemoryCreationError),
std::make_tuple("InvalidNodeState", ll::ErrorCode::InvalidNodeState),
std::make_tuple("InterpreterError", ll::ErrorCode::InterpreterError),
std::make_tuple("PushConstantError", ll::ErrorCode::PushConstantError),
std::make_tuple("IOError", ll::ErrorCode::IOError),
std::make_tuple("InvalidArgument", ll::ErrorCode::InvalidArgument),
std::make_tuple("InstanceCreationError", ll::ErrorCode::InstanceCreationError),
std::make_tuple("SessionLost", ll::ErrorCode::SessionLost),
std::make_tuple("LayerNotFound", ll::ErrorCode::LayerNotFound),
std::make_tuple("ExtensionNotFound", ll::ErrorCode::ExtensionNotFound),
std::make_tuple("PipelineCreationError", ll::ErrorCode::PipelineCreationError),
std::make_tuple("VulkanError", ll::ErrorCode::VulkanError),
std::make_tuple("InvalidParameterType", ll::ErrorCode::InvalidParameterType)}}
@ InvalidShaderFunctionName

String values for ll::ErrorCode enum.

◆ FloatPrecisionStrings

constexpr const std::array<std::tuple<const char*, ll::FloatPrecision>, 3> ll::impl::FloatPrecisionStrings
constexpr
Initial value:
{{
std::make_tuple("FP16", ll::FloatPrecision::FP16),
std::make_tuple("FP32", ll::FloatPrecision::FP32),
std::make_tuple("FP64", ll::FloatPrecision::FP64),
}}

◆ ImageAddressModeStrings

constexpr const std::array<std::tuple<const char*, ll::ImageAddressMode>, 5> ll::impl::ImageAddressModeStrings
constexpr
Initial value:
{{
std::make_tuple("Repeat", ll::ImageAddressMode::Repeat),
std::make_tuple("MirroredRepeat", ll::ImageAddressMode::MirroredRepeat),
std::make_tuple("ClampToEdge", ll::ImageAddressMode::ClampToEdge),
std::make_tuple("ClampToBorder", ll::ImageAddressMode::ClampToBorder),
std::make_tuple("MirrorClampToEdge", ll::ImageAddressMode::MirrorClampToEdge),
}}

Image filter mode strings used for converting ll::ImageAddressMode to std::string and vice-versa.

See also
ll::ImageAddressMode enum values for this array.

◆ ImageAxisStrings

constexpr const std::array<std::tuple<const char*, ll::ImageAxis>, 3> ll::impl::ImageAxisStrings
constexpr
Initial value:
{{
std::make_tuple("U", ll::ImageAxis::U),
std::make_tuple("V", ll::ImageAxis::V),
std::make_tuple("W", ll::ImageAxis::W),
}}

Image axis strings used for converting ll::ImageAxis to std::string and vice-versa.

See also
ll::ImageAxis enum values for this array.

◆ ImageFilterModeStrings

constexpr const std::array<std::tuple<const char*, ll::ImageFilterMode>, 2> ll::impl::ImageFilterModeStrings
constexpr
Initial value:
{{
std::make_tuple("Nearest", ll::ImageFilterMode::Nearest),
std::make_tuple("Linear", ll::ImageFilterMode::Linear),
}}

Image filter mode strings used for converting ll::ImageFilterMode to std::string and vice-versa.

See also
ll::ImageFilterMode enum values for this array.

◆ ImageLayoutStrings

constexpr const std::array<std::tuple<const char*, ll::ImageLayout>, 6> ll::impl::ImageLayoutStrings
constexpr
Initial value:
{{std::make_tuple("Undefined", ll::ImageLayout::Undefined),
std::make_tuple("General", ll::ImageLayout::General),
std::make_tuple("ShaderReadOnlyOptimal", ll::ImageLayout::ShaderReadOnlyOptimal),
std::make_tuple("TransferSrcOptimal", ll::ImageLayout::TransferSrcOptimal),
std::make_tuple("TransferDstOptimal", ll::ImageLayout::TransferDstOptimal),
std::make_tuple("Preinitialized", ll::ImageLayout::Preinitialized)}}

◆ ImageTilingStrings

constexpr const std::array<std::tuple<const char*, ll::ImageTiling>, 2> ll::impl::ImageTilingStrings
constexpr
Initial value:
{{
std::make_tuple("Optimal", ll::ImageTiling::Optimal),
std::make_tuple("Linear", ll::ImageTiling::Linear),
}}

◆ ImageUsageFlagBitsStrings

constexpr const std::array<std::tuple<const char*, ll::ImageUsageFlagBits>, 4> ll::impl::ImageUsageFlagBitsStrings
constexpr
Initial value:
{{std::make_tuple("TransferSrc", ll::ImageUsageFlagBits::TransferSrc),
std::make_tuple("TransferDst", ll::ImageUsageFlagBits::TransferDst),
std::make_tuple("Sampled", ll::ImageUsageFlagBits::Sampled),
std::make_tuple("Storage", ll::ImageUsageFlagBits::Storage)}}

◆ MemoryPropertyFlagBitsStrings

constexpr const std::array<std::tuple<const char*, ll::MemoryPropertyFlagBits>, 4> ll::impl::MemoryPropertyFlagBitsStrings
constexpr
Initial value:

String values for Vulkan VkMemoryPropertyFlagBits values.

See https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkMemoryPropertyFlagBits for more information.

◆ NodeStateStrings

constexpr const std::array<std::tuple<const char*, ll::NodeState>, 2> ll::impl::NodeStateStrings
constexpr
Initial value:
{{std::make_tuple("Created", ll::NodeState::Created),
std::make_tuple("Init", ll::NodeState::Init)}}

Node state string values used for converting ll::NodeState to std::string and vice-versa.

See also
ll::NodeState enum values for this array.

◆ NodeTypeStrings

constexpr const std::array<std::tuple<const char*, ll::NodeType>, 2> ll::impl::NodeTypeStrings
constexpr
Initial value:
{{std::make_tuple("Compute", ll::NodeType::Compute),
std::make_tuple("Container", ll::NodeType::Container)}}

Node type string values used for converting ll::NodeType to std::string and vice-versa.

See also
ll::NodeType enum values for this array.

◆ ObjectTypeStrings

constexpr const std::array<std::tuple<const char*, ll::ObjectType>, 3> ll::impl::ObjectTypeStrings
constexpr
Initial value:
{{
std::make_tuple("Buffer", ll::ObjectType::Buffer),
std::make_tuple("Image", ll::ObjectType::Image),
std::make_tuple("ImageView", ll::ObjectType::ImageView),
}}

Object type string values used for converting ll::ObjectType to std::string and vice-versa.

See also
ll::ObjectType enum values for this array.

◆ ParameterTypeStrings

constexpr const std::array<std::tuple<const char*, ll::ParameterType>, 3> ll::impl::ParameterTypeStrings
constexpr
Initial value:
{{std::make_tuple("Int", ll::ParameterType::Int),
std::make_tuple("Float", ll::ParameterType::Float),
std::make_tuple("String", ll::ParameterType::String)}}

String values used for converting ll::ParameterType to std::string and vice-versa.

See also
ll::ParameterType enum values for this array.

◆ PortDirectionStrings

constexpr const std::array<std::tuple<const char*, ll::PortDirection>, 2> ll::impl::PortDirectionStrings
constexpr
Initial value:
{{std::make_tuple("In", ll::PortDirection::In),
std::make_tuple("Out", ll::PortDirection::Out)}}

Port direction string values used for converting ll::PortDirection to std::string and vice-versa.

See also
ll::PortDirection enum values for this array.

◆ PortTypeStrings

constexpr const std::array<std::tuple<const char*, ll::PortType>, 4> ll::impl::PortTypeStrings
constexpr
Initial value:
{{
std::make_tuple("Buffer", ll::PortType::Buffer),
std::make_tuple("ImageView", ll::PortType::ImageView),
std::make_tuple("SampledImageView", ll::PortType::SampledImageView),
std::make_tuple("UniformBuffer", ll::PortType::UniformBuffer),
}}

Port type string values used for converting ll::PortType to std::string and vice-versa.

See also
ll::PortType enum values for this array.