Kanzi 4.0.0-beta2
types.hpp File Reference

Classes

struct  kanzi::gfx::BackendInformation
 Describes the backend implementation. More...
 
struct  kanzi::gfx::ByteRange
 Defines a range of bytes. More...
 
struct  kanzi::gfx::DispatchIndirectData
 DispatchIndirect data buffer format. More...
 
struct  kanzi::gfx::DrawIndirectData
 DrawIndirect data buffer format. More...
 
struct  kanzi::gfx::DrawIndirectIndexedData
 DrawIndirect indexed data buffer format. More...
 
struct  kanzi::gfx::ImageSubresource
 The image subresource describes a subset of a full resource. More...
 
struct  kanzi::gfx::InitializationInfo
 Graphics library initialization information. More...
 
struct  kanzi::gfx::NativeSurfaceHandle
 Information necessary for native surfaces such as windows. More...
 
struct  kanzi::gfx::ObjectStatus
 Object status and message. More...
 
struct  kanzi::gfx::SwizzleMask
 Swizzle options for each channel of a format. More...
 

Namespaces

namespace  kanzi
 
namespace  kanzi::gfx
 
namespace  kanzi::gfx::limits
 

Typedefs

using kanzi::gfx::ColorClearValue
 The value to use for a color clear operation.
 
using kanzi::gfx::TaskFn
 Simple function callback definition.
 

Enumerations

enum class  kanzi::gfx::AccessFlag : uint8_t {
  kanzi::gfx::AccessFlag::None , kanzi::gfx::AccessFlag::Write , kanzi::gfx::AccessFlag::Read , kanzi::gfx::AccessFlag::ReadWrite ,
  kanzi::gfx::AccessFlag::Persistent
}
 Defines the options for resource access. More...
 
enum class  kanzi::gfx::AddressMode : uint8_t {
  kanzi::gfx::AddressMode::ClampEdge , kanzi::gfx::AddressMode::ClampBorder , kanzi::gfx::AddressMode::MirroredRepeat , kanzi::gfx::AddressMode::Repeat ,
  kanzi::gfx::AddressMode::MirroredClampEdge , kanzi::gfx::AddressMode::Count
}
 Defines the image addressing modes. More...
 
enum class  kanzi::gfx::APIBackend : uint8_t {
  kanzi::gfx::APIBackend::OpenGL , kanzi::gfx::APIBackend::OpenGLES , kanzi::gfx::APIBackend::Vulkan , kanzi::gfx::APIBackend::Unknown ,
  kanzi::gfx::APIBackend::Count
}
 Defines the available API backend implementations. More...
 
enum class  kanzi::gfx::AspectMask : uint8_t { kanzi::gfx::AspectMask::None , kanzi::gfx::AspectMask::Color , kanzi::gfx::AspectMask::Depth , kanzi::gfx::AspectMask::Stencil }
 Defines the aspect mask bits. More...
 
enum struct  kanzi::gfx::AttachmentLoadOperation : uint8_t {
  kanzi::gfx::AttachmentLoadOperation::Clear , kanzi::gfx::AttachmentLoadOperation::Keep , kanzi::gfx::AttachmentLoadOperation::DontCare , kanzi::gfx::AttachmentLoadOperation::Count ,
  kanzi::gfx::AttachmentLoadOperation::Default
}
 Defines the ways to handle the content of an attachment that you load. More...
 
enum struct  kanzi::gfx::AttachmentStoreOperation : uint8_t { kanzi::gfx::AttachmentStoreOperation::Store , kanzi::gfx::AttachmentStoreOperation::DontCare , kanzi::gfx::AttachmentStoreOperation::Count , kanzi::gfx::AttachmentStoreOperation::Default }
 Defines if attachment contents need to be preserved after render pass. More...
 
enum class  kanzi::gfx::BlendFactor : uint8_t {
  kanzi::gfx::BlendFactor::Zero , kanzi::gfx::BlendFactor::One , kanzi::gfx::BlendFactor::SourceColor , kanzi::gfx::BlendFactor::InverseSourceColor ,
  kanzi::gfx::BlendFactor::SourceAlpha , kanzi::gfx::BlendFactor::InverseSourceAlpha , kanzi::gfx::BlendFactor::DestinationColor , kanzi::gfx::BlendFactor::InverseDestinationColor ,
  kanzi::gfx::BlendFactor::DestinationAlpha , kanzi::gfx::BlendFactor::InverseDestinationAlpha , kanzi::gfx::BlendFactor::SourceAlphaSaturate , kanzi::gfx::BlendFactor::ConstantColor ,
  kanzi::gfx::BlendFactor::InverseConstantColor , kanzi::gfx::BlendFactor::ConstantAlpha , kanzi::gfx::BlendFactor::InverseConstantAlpha , kanzi::gfx::BlendFactor::Count
}
 Defines the blend factors. More...
 
enum class  kanzi::gfx::BlendOperation : uint8_t {
  kanzi::gfx::BlendOperation::Add , kanzi::gfx::BlendOperation::Subtract , kanzi::gfx::BlendOperation::Reverse_Subtract , kanzi::gfx::BlendOperation::Min ,
  kanzi::gfx::BlendOperation::Max , kanzi::gfx::BlendOperation::Multiply , kanzi::gfx::BlendOperation::Screen , kanzi::gfx::BlendOperation::Overlay ,
  kanzi::gfx::BlendOperation::Darken , kanzi::gfx::BlendOperation::Lighten , kanzi::gfx::BlendOperation::ColorDodge , kanzi::gfx::BlendOperation::ColorBurn ,
  kanzi::gfx::BlendOperation::HardLight , kanzi::gfx::BlendOperation::SoftLight , kanzi::gfx::BlendOperation::Difference , kanzi::gfx::BlendOperation::Exclusion ,
  kanzi::gfx::BlendOperation::HSL_Hue , kanzi::gfx::BlendOperation::HSL_Saturation , kanzi::gfx::BlendOperation::HSL_Color , kanzi::gfx::BlendOperation::HSL_Luminosity ,
  kanzi::gfx::BlendOperation::Count
}
 Defines the blend operations. More...
 
enum class  kanzi::gfx::BufferUsageFlag : uint16_t {
  kanzi::gfx::BufferUsageFlag::Invalid , kanzi::gfx::BufferUsageFlag::IndexBuffer , kanzi::gfx::BufferUsageFlag::VertexBuffer , kanzi::gfx::BufferUsageFlag::UniformBuffer ,
  kanzi::gfx::BufferUsageFlag::ShaderResource , kanzi::gfx::BufferUsageFlag::UnorderedAccess , kanzi::gfx::BufferUsageFlag::CopyDestination , kanzi::gfx::BufferUsageFlag::CopySource ,
  kanzi::gfx::BufferUsageFlag::StorageBuffer , kanzi::gfx::BufferUsageFlag::IndirectBuffer
}
 Defines the options for Buffer usage. More...
 
enum class  kanzi::gfx::ChannelType { kanzi::gfx::ChannelType::Unknown , kanzi::gfx::ChannelType::UnsignedInteger , kanzi::gfx::ChannelType::SignedInteger , kanzi::gfx::ChannelType::Float }
 Defines the formats of an individual channel. More...
 
enum class  kanzi::gfx::ColorWriteMask : uint8_t {
  kanzi::gfx::ColorWriteMask::None , kanzi::gfx::ColorWriteMask::R , kanzi::gfx::ColorWriteMask::G , kanzi::gfx::ColorWriteMask::B ,
  kanzi::gfx::ColorWriteMask::A , kanzi::gfx::ColorWriteMask::RGBA
}
 Defines the write mask bits. More...
 
enum class  kanzi::gfx::ComparisonFunction : uint8_t {
  kanzi::gfx::ComparisonFunction::Never , kanzi::gfx::ComparisonFunction::Less , kanzi::gfx::ComparisonFunction::Equal , kanzi::gfx::ComparisonFunction::LessEqual ,
  kanzi::gfx::ComparisonFunction::Greater , kanzi::gfx::ComparisonFunction::NotEqual , kanzi::gfx::ComparisonFunction::GreaterEqual , kanzi::gfx::ComparisonFunction::Always ,
  kanzi::gfx::ComparisonFunction::Count
}
 Defines the comparison functions for depth testing. More...
 
enum class  kanzi::gfx::CullMode : uint8_t { kanzi::gfx::CullMode::None , kanzi::gfx::CullMode::Front , kanzi::gfx::CullMode::Back , kanzi::gfx::CullMode::Count }
 Defines the cull modes available to a raster state. More...
 
enum class  kanzi::gfx::DevicePropertyId {
  kanzi::gfx::DevicePropertyId::MaxColorAttachments , kanzi::gfx::DevicePropertyId::MaxFramebufferHeight , kanzi::gfx::DevicePropertyId::MaxFramebufferWidth , kanzi::gfx::DevicePropertyId::MaxTextureSize ,
  kanzi::gfx::DevicePropertyId::MaxCubemapTextureSize , kanzi::gfx::DevicePropertyId::MaxTexelBufferElements , kanzi::gfx::DevicePropertyId::MaxTessellationPatchSize , kanzi::gfx::DevicePropertyId::UniformBufferOffsetAlignment ,
  kanzi::gfx::DevicePropertyId::StorageBufferOffsetAlignment , kanzi::gfx::DevicePropertyId::MaxSampleCount , kanzi::gfx::DevicePropertyId::MaxSamplerAnisotropy , kanzi::gfx::DevicePropertyId::MaxVertexAttributes ,
  kanzi::gfx::DevicePropertyId::MaxVertexAttributeRelativeOffset , kanzi::gfx::DevicePropertyId::MaxVertexAttributeStride , kanzi::gfx::DevicePropertyId::MinLineWidth , kanzi::gfx::DevicePropertyId::MaxLineWidth ,
  kanzi::gfx::DevicePropertyId::Count
}
 Defines the queryable device properties. More...
 
enum class  kanzi::gfx::FeatureId {
  kanzi::gfx::FeatureId::AddressModeMirroredClampEdge , kanzi::gfx::FeatureId::AddressModeClampBorder , kanzi::gfx::FeatureId::SamplerCustomBorderColor , kanzi::gfx::FeatureId::IndependentBlend ,
  kanzi::gfx::FeatureId::CubeMapArray , kanzi::gfx::FeatureId::TextureSubView , kanzi::gfx::FeatureId::GeometryShaders , kanzi::gfx::FeatureId::TessellationShaders ,
  kanzi::gfx::FeatureId::ComputeShaders , kanzi::gfx::FeatureId::sRGBSurface , kanzi::gfx::FeatureId::TexelBufferView , kanzi::gfx::FeatureId::IndexBufferTypeUint8 ,
  kanzi::gfx::FeatureId::TextureStorage2DMultisample , kanzi::gfx::FeatureId::TextureStorage3DMultisample , kanzi::gfx::FeatureId::NonSolidPolygonFillMode , kanzi::gfx::FeatureId::DrawIndirect ,
  kanzi::gfx::FeatureId::WideLines , kanzi::gfx::FeatureId::AdvancedBlendModes , kanzi::gfx::FeatureId::FlipSurface , kanzi::gfx::FeatureId::SamplerAnisotropy ,
  kanzi::gfx::FeatureId::DebugOutput , kanzi::gfx::FeatureId::DepthStencilResolve , kanzi::gfx::FeatureId::ExternalTextureHandle , kanzi::gfx::FeatureId::Caching ,
  kanzi::gfx::FeatureId::PersistentMapping , kanzi::gfx::FeatureId::MultiUseBuffers , kanzi::gfx::FeatureId::Count
}
 Defines the KzGfx features that can be present or missing on a specific platform. More...
 
enum class  kanzi::gfx::FillMode : uint8_t { kanzi::gfx::FillMode::Solid , kanzi::gfx::FillMode::Wireframe , kanzi::gfx::FillMode::Point , kanzi::gfx::FillMode::Count }
 Defines the fill modes available to a raster state. More...
 
enum class  kanzi::gfx::FilterMode : uint8_t { kanzi::gfx::FilterMode::Nearest , kanzi::gfx::FilterMode::Linear , kanzi::gfx::FilterMode::Count }
 Defines the pixel filter modes available to a sampler. More...
 
enum class  kanzi::gfx::Format : uint16_t {
  kanzi::gfx::Format::None , kanzi::gfx::Format::R8_UNorm , kanzi::gfx::Format::R8_SNorm , kanzi::gfx::Format::R8_Int ,
  kanzi::gfx::Format::R8_UInt , kanzi::gfx::Format::R16_UNorm , kanzi::gfx::Format::R16_SNorm , kanzi::gfx::Format::R16_Float ,
  kanzi::gfx::Format::R16_Int , kanzi::gfx::Format::R16_UInt , kanzi::gfx::Format::R32_Float , kanzi::gfx::Format::R32_Int ,
  kanzi::gfx::Format::R32_UInt , kanzi::gfx::Format::RG8_UNorm , kanzi::gfx::Format::RG8_SNorm , kanzi::gfx::Format::RG8_Int ,
  kanzi::gfx::Format::RG8_UInt , kanzi::gfx::Format::RG16_UNorm , kanzi::gfx::Format::RG16_SNorm , kanzi::gfx::Format::RG16_Float ,
  kanzi::gfx::Format::RG16_Int , kanzi::gfx::Format::RG16_UInt , kanzi::gfx::Format::RG32_Float , kanzi::gfx::Format::RG32_Int ,
  kanzi::gfx::Format::RG32_UInt , kanzi::gfx::Format::RGB8_UNorm , kanzi::gfx::Format::RGB8_SNorm , kanzi::gfx::Format::RGB8_Int ,
  kanzi::gfx::Format::RGB8_UInt , kanzi::gfx::Format::RGB8_sRGB , kanzi::gfx::Format::RGB16_UNorm , kanzi::gfx::Format::RGB16_SNorm ,
  kanzi::gfx::Format::RGB16_Float , kanzi::gfx::Format::RGB16_Int , kanzi::gfx::Format::RGB16_UInt , kanzi::gfx::Format::RGB32_Float ,
  kanzi::gfx::Format::RGB32_Int , kanzi::gfx::Format::RGB32_UInt , kanzi::gfx::Format::RGBA8_UNorm , kanzi::gfx::Format::RGBA8_SNorm ,
  kanzi::gfx::Format::RGBA8_Int , kanzi::gfx::Format::RGBA8_UInt , kanzi::gfx::Format::RGBA8_sRGB , kanzi::gfx::Format::BGRA8_UNorm ,
  kanzi::gfx::Format::BGRA8_sRGB , kanzi::gfx::Format::RGBA16_UNorm , kanzi::gfx::Format::RGBA16_SNorm , kanzi::gfx::Format::RGBA16_Float ,
  kanzi::gfx::Format::RGBA16_Int , kanzi::gfx::Format::RGBA16_UInt , kanzi::gfx::Format::RGBA32_Float , kanzi::gfx::Format::RGBA32_Int ,
  kanzi::gfx::Format::RGBA32_UInt , kanzi::gfx::Format::A2BGR10_UNorm , kanzi::gfx::Format::A2BGR10_SNorm , kanzi::gfx::Format::D16 ,
  kanzi::gfx::Format::D24 , kanzi::gfx::Format::D24S8 , kanzi::gfx::Format::D32 , kanzi::gfx::Format::D32S8 ,
  kanzi::gfx::Format::S8 , kanzi::gfx::Format::R5G6B5_Unorm , kanzi::gfx::Format::ETC2_RGB8_UNorm , kanzi::gfx::Format::ETC2_RGB8_sRGB ,
  kanzi::gfx::Format::ETC2_RGB8A1_UNorm , kanzi::gfx::Format::ETC2_RGB8A1_sRGB , kanzi::gfx::Format::ETC2_RGBA8_UNorm , kanzi::gfx::Format::ETC2_RGBA8_sRGB ,
  kanzi::gfx::Format::BC1_RGB_UNorm , kanzi::gfx::Format::BC1_RGB_sRGB , kanzi::gfx::Format::BC1_RGBA_UNorm , kanzi::gfx::Format::BC1_RGBA_sRGB ,
  kanzi::gfx::Format::BC2_UNorm , kanzi::gfx::Format::BC2_sRGB , kanzi::gfx::Format::BC3_UNorm , kanzi::gfx::Format::BC3_sRGB ,
  kanzi::gfx::Format::BC4_UNorm , kanzi::gfx::Format::BC4_SNorm , kanzi::gfx::Format::BC5_UNorm , kanzi::gfx::Format::BC5_SNorm ,
  kanzi::gfx::Format::BC6H_UFloat , kanzi::gfx::Format::BC6H_Float , kanzi::gfx::Format::BC7_UNorm , kanzi::gfx::Format::BC7_sRGB ,
  kanzi::gfx::Format::ASTC_4x4_UNorm , kanzi::gfx::Format::ASTC_5x4_UNorm , kanzi::gfx::Format::ASTC_5x5_UNorm , kanzi::gfx::Format::ASTC_6x5_UNorm ,
  kanzi::gfx::Format::ASTC_6x6_UNorm , kanzi::gfx::Format::ASTC_8x5_UNorm , kanzi::gfx::Format::ASTC_8x6_UNorm , kanzi::gfx::Format::ASTC_8x8_UNorm ,
  kanzi::gfx::Format::ASTC_10x5_UNorm , kanzi::gfx::Format::ASTC_10x6_UNorm , kanzi::gfx::Format::ASTC_10x8_UNorm , kanzi::gfx::Format::ASTC_10x10_UNorm ,
  kanzi::gfx::Format::ASTC_12x10_UNorm , kanzi::gfx::Format::ASTC_12x12_UNorm , kanzi::gfx::Format::ASTC_4x4_sRGB , kanzi::gfx::Format::ASTC_5x4_sRGB ,
  kanzi::gfx::Format::ASTC_5x5_sRGB , kanzi::gfx::Format::ASTC_6x5_sRGB , kanzi::gfx::Format::ASTC_6x6_sRGB , kanzi::gfx::Format::ASTC_8x5_sRGB ,
  kanzi::gfx::Format::ASTC_8x6_sRGB , kanzi::gfx::Format::ASTC_8x8_sRGB , kanzi::gfx::Format::ASTC_10x5_sRGB , kanzi::gfx::Format::ASTC_10x6_sRGB ,
  kanzi::gfx::Format::ASTC_10x8_sRGB , kanzi::gfx::Format::ASTC_10x10_sRGB , kanzi::gfx::Format::ASTC_12x10_sRGB , kanzi::gfx::Format::ASTC_12x12_sRGB ,
  kanzi::gfx::Format::ASTC_4x4_Float , kanzi::gfx::Format::ASTC_5x4_Float , kanzi::gfx::Format::ASTC_5x5_Float , kanzi::gfx::Format::ASTC_6x5_Float ,
  kanzi::gfx::Format::ASTC_6x6_Float , kanzi::gfx::Format::ASTC_8x5_Float , kanzi::gfx::Format::ASTC_8x6_Float , kanzi::gfx::Format::ASTC_8x8_Float ,
  kanzi::gfx::Format::ASTC_10x5_Float , kanzi::gfx::Format::ASTC_10x6_Float , kanzi::gfx::Format::ASTC_10x8_Float , kanzi::gfx::Format::ASTC_10x10_Float ,
  kanzi::gfx::Format::ASTC_12x10_Float , kanzi::gfx::Format::ASTC_12x12_Float , kanzi::gfx::Format::A2RGB10_UNorm , kanzi::gfx::Format::A2RGB10_SNorm ,
  kanzi::gfx::Format::A2RGB10_UScaled , kanzi::gfx::Format::A2RGB10_SScaled , kanzi::gfx::Format::A2RGB10_UInt , kanzi::gfx::Format::A2RGB10_SInt ,
  kanzi::gfx::Format::A2BGR10_UScaled , kanzi::gfx::Format::A2BGR10_SScaled , kanzi::gfx::Format::A2BGR10_UInt , kanzi::gfx::Format::A2BGR10_SInt ,
  kanzi::gfx::Format::B10GR11_UFloat , kanzi::gfx::Format::E5BGR9_UFloat , kanzi::gfx::Format::Count
}
 Defines the formats of graphics data used in images and vertex attributes. More...
 
enum class  kanzi::gfx::FormatFeatureFlag : uint16_t {
  kanzi::gfx::FormatFeatureFlag::None , kanzi::gfx::FormatFeatureFlag::SampledShaderResource , kanzi::gfx::FormatFeatureFlag::SampledShaderResourceLinear , kanzi::gfx::FormatFeatureFlag::ShaderResource ,
  kanzi::gfx::FormatFeatureFlag::ShaderResourceAtomic , kanzi::gfx::FormatFeatureFlag::ColorAttachment , kanzi::gfx::FormatFeatureFlag::ColorAttachmentBlend , kanzi::gfx::FormatFeatureFlag::DepthStencilAttachment ,
  kanzi::gfx::FormatFeatureFlag::CopyDestination , kanzi::gfx::FormatFeatureFlag::CopySource , kanzi::gfx::FormatFeatureFlag::VertexAttribute
}
 Defines the features for an image format. More...
 
enum class  kanzi::gfx::FrontFaceOrientation : uint8_t { kanzi::gfx::FrontFaceOrientation::CounterClockwise , kanzi::gfx::FrontFaceOrientation::Clockwise , kanzi::gfx::FrontFaceOrientation::Count }
 Defines the winding orders of a polygon. More...
 
enum class  kanzi::gfx::GpuSelectionType {
  kanzi::gfx::GpuSelectionType::First , kanzi::gfx::GpuSelectionType::LargestMemory , kanzi::gfx::GpuSelectionType::Discrete , kanzi::gfx::GpuSelectionType::Integrated ,
  kanzi::gfx::GpuSelectionType::CPU
}
 Defines the preferred GPU selection type. More...
 
enum class  kanzi::gfx::ImageType : uint8_t {
  kanzi::gfx::ImageType::Image2D , kanzi::gfx::ImageType::Image3D , kanzi::gfx::ImageType::CubeMap , kanzi::gfx::ImageType::Image2DExt ,
  kanzi::gfx::ImageType::Count
}
 Defines the image types. More...
 
enum class  kanzi::gfx::ImageUsageFlag : uint8_t {
  kanzi::gfx::ImageUsageFlag::None , kanzi::gfx::ImageUsageFlag::SampledShaderResource , kanzi::gfx::ImageUsageFlag::ShaderResource , kanzi::gfx::ImageUsageFlag::Attachment ,
  kanzi::gfx::ImageUsageFlag::CopyDestination , kanzi::gfx::ImageUsageFlag::CopySource , kanzi::gfx::ImageUsageFlag::All
}
 Defines the options for image usage. More...
 
enum class  kanzi::gfx::IndexBufferType : uint8_t { kanzi::gfx::IndexBufferType::Uint8 , kanzi::gfx::IndexBufferType::Uint16 , kanzi::gfx::IndexBufferType::Uint32 , kanzi::gfx::IndexBufferType::Count }
 Defines the index buffer types. More...
 
enum class  kanzi::gfx::MipMapMode : uint8_t { kanzi::gfx::MipMapMode::Base , kanzi::gfx::MipMapMode::Nearest , kanzi::gfx::MipMapMode::Linear , kanzi::gfx::MipMapMode::Count }
 Defines the mipmap modes available to a sampler. More...
 
enum class  kanzi::gfx::PrimitiveTopology : uint8_t {
  kanzi::gfx::PrimitiveTopology::Points , kanzi::gfx::PrimitiveTopology::LineList , kanzi::gfx::PrimitiveTopology::LineStrip , kanzi::gfx::PrimitiveTopology::TriangleList ,
  kanzi::gfx::PrimitiveTopology::TriangleStrip , kanzi::gfx::PrimitiveTopology::TriangleFan , kanzi::gfx::PrimitiveTopology::Patches , kanzi::gfx::PrimitiveTopology::Count
}
 Defines the primitive topology formats. More...
 
enum class  kanzi::gfx::ShaderFormat : uint32_t {
  kanzi::gfx::ShaderFormat::Classic , kanzi::gfx::ShaderFormat::VulkanSpirv13 , kanzi::gfx::ShaderFormat::VulkanSpirv14 , kanzi::gfx::ShaderFormat::VulkanSpirv15 ,
  kanzi::gfx::ShaderFormat::VulkanSpirv16 , kanzi::gfx::ShaderFormat::GlslES30 , kanzi::gfx::ShaderFormat::GlslES31 , kanzi::gfx::ShaderFormat::GlslES32 ,
  kanzi::gfx::ShaderFormat::Glsl33 , kanzi::gfx::ShaderFormat::Glsl40 , kanzi::gfx::ShaderFormat::Glsl41 , kanzi::gfx::ShaderFormat::Glsl42 ,
  kanzi::gfx::ShaderFormat::Glsl43 , kanzi::gfx::ShaderFormat::Glsl44 , kanzi::gfx::ShaderFormat::Glsl45 , kanzi::gfx::ShaderFormat::Glsl46
}
 Defines shader formats. More...
 
enum class  kanzi::gfx::ShaderFormatFamily : uint16_t { kanzi::gfx::ShaderFormatFamily::Classic , kanzi::gfx::ShaderFormatFamily::VulkanSpirv , kanzi::gfx::ShaderFormatFamily::GlslES , kanzi::gfx::ShaderFormatFamily::Glsl }
 Defines a shader format family. More...
 
enum class  kanzi::gfx::ShaderStage : uint8_t {
  kanzi::gfx::ShaderStage::Vertex , kanzi::gfx::ShaderStage::TessellationControl , kanzi::gfx::ShaderStage::TessellationEvaluation , kanzi::gfx::ShaderStage::Geometry ,
  kanzi::gfx::ShaderStage::Fragment , kanzi::gfx::ShaderStage::Compute , kanzi::gfx::ShaderStage::Combined , kanzi::gfx::ShaderStage::Count
}
 Defines the shader stages. More...
 
enum class  kanzi::gfx::StencilOperation : uint8_t {
  kanzi::gfx::StencilOperation::Keep , kanzi::gfx::StencilOperation::Zero , kanzi::gfx::StencilOperation::Replace , kanzi::gfx::StencilOperation::IncrementSaturate ,
  kanzi::gfx::StencilOperation::DecrementSaturate , kanzi::gfx::StencilOperation::Invert , kanzi::gfx::StencilOperation::Increment , kanzi::gfx::StencilOperation::Decrement ,
  kanzi::gfx::StencilOperation::Count
}
 Defines the stencil operations. More...
 
enum class  kanzi::gfx::SwizzleChannel : uint8_t {
  kanzi::gfx::SwizzleChannel::Zero , kanzi::gfx::SwizzleChannel::One , kanzi::gfx::SwizzleChannel::Identity , kanzi::gfx::SwizzleChannel::R ,
  kanzi::gfx::SwizzleChannel::G , kanzi::gfx::SwizzleChannel::B , kanzi::gfx::SwizzleChannel::A
}
 Defines the channel swizzle options. More...
 
enum class  kanzi::gfx::VertexInputRate : uint8_t { kanzi::gfx::VertexInputRate::Vertex , kanzi::gfx::VertexInputRate::Instance }
 Defines the rates for advancing vertex attributes. More...
 
enum class  kanzi::gfx::WaitResult { kanzi::gfx::WaitResult::TimeoutExpired , kanzi::gfx::WaitResult::Signaled , kanzi::gfx::WaitResult::Failed }
 Defines the results of a wait operation. More...
 

Functions

 kanzi::KZ_ENABLE_BITMASK_OPERATORS (gfx::AccessFlag)
 
 kanzi::KZ_ENABLE_BITMASK_OPERATORS (gfx::AspectMask)
 
 kanzi::KZ_ENABLE_BITMASK_OPERATORS (gfx::BufferUsageFlag)
 
 kanzi::KZ_ENABLE_BITMASK_OPERATORS (gfx::ColorWriteMask)
 
 kanzi::KZ_ENABLE_BITMASK_OPERATORS (gfx::FormatFeatureFlag)
 
 kanzi::KZ_ENABLE_BITMASK_OPERATORS (gfx::ImageUsageFlag)
 
constexpr bool kanzi::gfx::operator!= (const ImageSubresource &lhs, const ImageSubresource &rhs)
 Not equal operator for ImageSubresource.
 
constexpr bool kanzi::gfx::operator== (const ImageSubresource &lhs, const ImageSubresource &rhs)
 Equality operator for ImageSubresource.
 
string kanzi::to_string (gfx::BufferUsageFlag usage)
 String representation of a GPUBufferType.
 
string kanzi::to_string (gfx::ImageType type)
 String representation of an ImageType.
 
string kanzi::to_string (gfx::ShaderStage type)
 String representation for ShaderType.
 

Variables

constexpr uint32_t kanzi::gfx::limits::ConstantDataSize
 Size for a constant data buffer.
 
constexpr float kanzi::gfx::limits::LodClampNone
 Constant to disable LOD clamping in texture sampler.
 
constexpr uint32_t kanzi::gfx::limits::MaxBufferSize
 Maximum size for buffers.
 
constexpr uint32_t kanzi::gfx::limits::MaxColorAttachments
 Maximum number of color attachments supported by the gfx library.
 
constexpr uint32_t kanzi::gfx::limits::MaxDynamicUniformBuffers
 Maximum number of dynamic uniform buffers per draw supported by the gfx library.
 
constexpr uint32_t kanzi::gfx::limits::MaxResourceSets
 Maximum number of resource sets that can be bound at the same time by the gfx library.