Kanzi 4.0.0-beta2
Collaboration diagram for Types:

Namespaces

namespace  kanzi::gfx::limits
 

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::HandleObject
 Base class for internal backend objects that are referred to by Handles. 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...
 

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

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.
 

Detailed Description

The types used by the graphics library.

Typedef Documentation

◆ TaskFn

Simple function callback definition.

Since
Kanzi 4.0.0

◆ ColorClearValue

The value to use for a color clear operation.

Since
Kanzi 4.0.0

Enumeration Type Documentation

◆ IndexBufferType

Defines the index buffer types.

Since
Kanzi 4.0.0
Enumerator
Uint8 

Unsigned 8-bit integer.

Uint16 

Unsigned 16-bit integer.

Uint32 

Unsigned 32-bit integer.

Count 

Number of IndexBufferType options.

◆ ImageType

Defines the image types.

Since
Kanzi 4.0.0
Enumerator
Image2D 

A two-dimensional image.

Image3D 

A three-dimensional image.

CubeMap 

A cubemap.

Image2DExt 

A two-dimensional external image.

Count 

Number of ImageType options.

◆ PrimitiveTopology

Defines the primitive topology formats.

Since
Kanzi 4.0.0
Enumerator
Points 

Vertices represent a point list.

LineList 

Vertices represent a line list.

LineStrip 

Vertices represent a line strip.

TriangleList 

Vertices represent a triangle list.

TriangleStrip 

Vertices represent a triangle strip.

TriangleFan 

Vertices represent a triangle fan.

Patches 

Vertices represent patches for use with tessellation shaders.

Count 

Number of PrimitiveTopology options.

◆ Format

Defines the formats of graphics data used in images and vertex attributes.

Since
Kanzi 4.0.0
Enumerator
None 

Indicates unused, empty or invalid data type.

R8_UNorm 

One channel red 8-bit unsigned normalized format, one byte per pixel.

R8_SNorm 

One channel red 8-bit signed normalized format, one byte per pixel.

R8_Int 

One channel red 8-bit signed integer format, one byte per pixel.

R8_UInt 

One channel red 8-bit unsigned integer format, one byte per pixel.

R16_UNorm 

One channel red 16-bit unsigned normalized, two bytes per pixel.

R16_SNorm 

One channel red 16-bit signed normalized, two bytes per pixel.

R16_Float 

One channel red 16-bit half float format, two bytes per pixel.

R16_Int 

One channel red 16-bit signed integer format, two bytes per pixel.

R16_UInt 

One channel red 16-bit unsigned integer format, two bytes per pixel.

R32_Float 

One channel red 32-bit float format, four bytes per pixel.

R32_Int 

One channel red 32-bit signed integer format, four byte per pixel.

R32_UInt 

One channel red 32-bit unsigned integer format, four bytes per pixel.

RG8_UNorm 

Two channel red green 8-bit unsigned normalized format, two bytes per pixel.

RG8_SNorm 

Two channel red green 8-bit signed normalized format, two bytes per pixel.

RG8_Int 

Two channel red green 8-bit signed integer format, two bytes per pixel.

RG8_UInt 

Two channel red green 8-bit unsigned integer format, two bytes per pixel.

RG16_UNorm 

Two channel red green 16-bit unsigned normalized, four bytes per pixel.

RG16_SNorm 

Two channel red green 16-bit signed normalized, four bytes per pixel.

RG16_Float 

Two channel red green 16-bit half float format, four bytes per pixel.

RG16_Int 

Two channel red green 16-bit signed integer format, four bytes per pixel.

RG16_UInt 

Two channel red green 16-bit unsigned integer format, four bytes per pixel.

RG32_Float 

Two channel red green 32-bit float format, eight bytes per pixel.

RG32_Int 

Two channel red green 32-bit signed integer format, eight bytes per pixel.

RG32_UInt 

Two channel red green 32-bit unsigned integer format, eight bytes per pixel.

RGB8_UNorm 

Three channel RGB 8-bit unsigned normalized format, three bytes per pixel.

RGB8_SNorm 

Three channel RGB 8-bit signed normalized format, three bytes per pixel.

RGB8_Int 

Three channel RGB 8-bit signed integer format, three bytes per pixel.

RGB8_UInt 

Three channel RGB 8-bit unsigned integer format, three bytes per pixel.

RGB8_sRGB 

Three channel RGB 8-bit unsigned normalized format in sRGB color space, three bytes per pixel.

RGB16_UNorm 

Three channel RGB 16-bit unsigned normalized, six bytes per pixel.

RGB16_SNorm 

Three channel RGB 16-bit signed normalized, six bytes per pixel.

RGB16_Float 

Three channel RGB 16-bit half float format, six bytes per pixel.

RGB16_Int 

Three channel RGB 16-bit signed integer format, six bytes per pixel.

RGB16_UInt 

Three channel RGB 16-bit unsigned integer format, six bytes per pixel.

RGB32_Float 

Three channel RGB 32-bit float format, twelve bytes per pixel.

RGB32_Int 

Three channel RGB 32-bit signed integer format, twelve bytes per pixel.

RGB32_UInt 

Three channel RGB 32-bit unsigned integer format, twelve bytes per pixel.

RGBA8_UNorm 

Four channel RGBA 8-bit unsigned normalized format, four bytes per pixel.

RGBA8_SNorm 

Four channel RGBA 8-bit signed normalized format, four bytes per pixel.

RGBA8_Int 

Four channel RGBA 8-bit signed integer format, four bytes per pixel.

RGBA8_UInt 

Four channel RGBA 8-bit unsigned integer format, four bytes per pixel.

RGBA8_sRGB 

Four channel RGBA 8-bit unsigned normalized format in sRGB color space, four bytes per pixel.

BGRA8_UNorm 

Four channel BGRA 8-bit unsigned normalized format, four bytes per pixel.

BGRA8_sRGB 

Four channel BGRA 8-bit unsigned normalized format in sRGB color space, four bytes per pixel.

RGBA16_UNorm 

Four channel RGBA 16-bit unsigned normalized, eight bytes per pixel.

RGBA16_SNorm 

Four channel RGBA 16-bit signed normalized, eight bytes per pixel.

RGBA16_Float 

Four channel RGBA 16-bit half float format, eight bytes per pixel.

RGBA16_Int 

Four channel RGBA 16-bit signed integer format, eight bytes per pixel.

RGBA16_UInt 

Four channel RGBA 16-bit unsigned integer format, eight bytes per pixel.

RGBA32_Float 

Four channel RGBA 32-bit float format, sixteen bytes per pixel.

RGBA32_Int 

Four channel RGBA 32-bit unsigned integer format, sixteen bytes per pixel.

RGBA32_UInt 

Four channel RGBA 32-bit signed integer format, sixteen bytes per pixel.

A2BGR10_UNorm 

Four channel ABGR 10-bit (2-bit alpha) unsigned normalized format, four bytes per pixel.

A2BGR10_SNorm 

Four channel ABGR 10-bit (2-bit alpha) signed normalized format, four bytes per pixel.

D16 

Single channel depth 16-bit unsigned normalized format.

D24 

Single channel depth 24-bit unsigned normalized format.

D24S8 

Two channel depth stencil format. 24-bit depth and 8-bit stencil.

D32 

Single channel depth 32-bit float format.

D32S8 

Two channel depth stencil format. 32-bit depth and 8-bit stencil.

S8 

Single channel stencil 8-bit unsigned integer format.

R5G6B5_Unorm 

Three channel RGB 5-6-5 bit normalized format, two bytes per pixel.

ETC2_RGB8_UNorm 

Three channel RGB unsigned normalized format, compressed with ETC2.

ETC2_RGB8_sRGB 

Three channel RGB unsigned normalized format in sRGB color space, compressed with ETC2.

ETC2_RGB8A1_UNorm 

Four channel RGBA unsigned normalized with punchthrough alpha format, compressed with ETC2.

ETC2_RGB8A1_sRGB 

Four channel RGBA unsigned normalized with punchthrough alpha format in sRGB color space, compressed with ETC2.

ETC2_RGBA8_UNorm 

Four channel RGBA unsigned normalized format, compressed with ETC2.

ETC2_RGBA8_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, compressed with ETC2.

BC1_RGB_UNorm 

Three channel RGB unsigned normalized format, 4 by 4 pixels per block, 64 bits per block, compressed with BC1.

BC1_RGB_sRGB 

Three channel RGB unsigned normalized format in sRGB color space, 4 by 4 pixels per block, 64 bits per block, compressed with BC1.

BC1_RGBA_UNorm 

Four channel RGBA unsigned normalized with punchthrough alpha format, 4 by 4 pixels per block, 64 bits per block, compressed with BC1.

BC1_RGBA_sRGB 

Four channel RGBA unsigned normalized with punchthrough alpha format in sRGB color space, 4 by 4 pixels per block, 64 bits per block, compressed with BC1.

BC2_UNorm 

Four channel RGBA unsigned normalized format in sRGB color space, 4 by 4 pixels per block, 128 bits per block, compressed with BC2.

BC2_sRGB 

Four channel RGBA unsigned normalized format, 4 by 4 pixels per block, 128 bits per block, comperssed with BC2.

BC3_UNorm 

Four channel RGBA unsigned normalized format in sRGB color space, 4 by 4 pixels per block, 128 bits per block, compressed with BC3.

BC3_sRGB 

Four channel RGBA unsigned normalized format, 4 by 4 pixels per block, 128 bits per block, compressed with BC3.

BC4_UNorm 

Single channel unsigned normalized format, 4 by 4 pixels per block, 64 bits per block, compressed with BC4.

BC4_SNorm 

Single channel signed normalized format, 4 by 4 pixels per block, 64 bits per block, compressed with BC4.

BC5_UNorm 

Two channel unsigned normalized format, 4 by 4 pixels per block, 128 bits per block, compressed with BC5.

BC5_SNorm 

Two channel signed normalized format, 4 by 4 pixels per block, 128 bits per block, compressed with BC5.

BC6H_UFloat 

Three channel RGB unsigned floating point format, 4 by 4 pixels per block, 128 bits per block, compressed with BC6.

BC6H_Float 

Three channel RGB signed floating point format, 4 by 4 pixels per block, 128 bits per block, compressed with BC6.

BC7_UNorm 

Four channel RGBA unsigned normalized format, 4 by 4 pixels per block, 128 bits per block, compressed with BC7.

BC7_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 4 by 4 pixels per block, 128 bits per block, compressed with BC7.

ASTC_4x4_UNorm 

Four channel RGBA unsigned normalized format, 4 by 4 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_5x4_UNorm 

Four channel RGBA unsigned normalized format, 5 by 4 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_5x5_UNorm 

Four channel RGBA unsigned normalized format, 5 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_6x5_UNorm 

Four channel RGBA unsigned normalized format, 6 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_6x6_UNorm 

Four channel RGBA unsigned normalized format, 6 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x5_UNorm 

Four channel RGBA unsigned normalized format, 8 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x6_UNorm 

Four channel RGBA unsigned normalized format, 8 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x8_UNorm 

Four channel RGBA unsigned normalized format, 8 by 8 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x5_UNorm 

Four channel RGBA unsigned normalized format, 10 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x6_UNorm 

Four channel RGBA unsigned normalized format, 10 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x8_UNorm 

Four channel RGBA unsigned normalized format, 10 by 8 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x10_UNorm 

Four channel RGBA unsigned normalized format, 10 by 10 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_12x10_UNorm 

Four channel RGBA unsigned normalized format, 12 by 10 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_12x12_UNorm 

Four channel RGBA unsigned normalized format, 12 by 12 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_4x4_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 4 by 4 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_5x4_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 5 by 4 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_5x5_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 5 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_6x5_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 6 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_6x6_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 6 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x5_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 8 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x6_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 8 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x8_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 8 by 8 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x5_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 10 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x6_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 10 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x8_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 10 by 8 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x10_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 10 by 10 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_12x10_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 12 by 10 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_12x12_sRGB 

Four channel RGBA unsigned normalized format in sRGB color space, 12 by 12 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_4x4_Float 

Four channel RGBA unsigned floating point format, 4 by 4 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_5x4_Float 

Four channel RGBA unsigned floating point format, 5 by 4 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_5x5_Float 

Four channel RGBA unsigned floating point format, 5 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_6x5_Float 

Four channel RGBA unsigned floating point format, 6 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_6x6_Float 

Four channel RGBA unsigned floating point format, 6 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x5_Float 

Four channel RGBA unsigned floating point format, 8 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x6_Float 

Four channel RGBA unsigned floating point format, 8 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_8x8_Float 

Four channel RGBA unsigned floating point format, 8 by 8 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x5_Float 

Four channel RGBA unsigned floating point format, 10 by 5 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x6_Float 

Four channel RGBA unsigned floating point format, 10 by 6 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x8_Float 

Four channel RGBA unsigned floating point format, 10 by 8 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_10x10_Float 

Four channel RGBA unsigned floating point format, 10 by 10 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_12x10_Float 

Four channel RGBA unsigned floating point format, 12 by 10 pixels per block, 128 bits per block, compressed with ASTC.

ASTC_12x12_Float 

Four channel RGBA unsigned floating point format, 12 by 12 pixels per block, 128 bits per block, compressed with ASTC.

A2RGB10_UNorm 

Four channel ARGB 10-bit (2-bit alpha) unsigned normalized format, four bytes per pixel.

A2RGB10_SNorm 

Four channel ARGB 10-bit (2-bit alpha) signed normalized format, four bytes per pixel.

A2RGB10_UScaled 

Four channel ARGB 10-bit (2-bit alpha) unsigned format, four bytes per pixel.

A2RGB10_SScaled 

Four channel ARGB 10-bit (2-bit alpha) signed format, four bytes per pixel.

A2RGB10_UInt 

Four channel ARGB 10-bit (2-bit alpha) unsigned format, four bytes per pixel.

A2RGB10_SInt 

Four channel ARGB 10-bit (2-bit alpha) signed format, four bytes per pixel.

A2BGR10_UScaled 

Four channel ABGR 10-bit (2-bit alpha) unsigned format, four bytes per pixel.

A2BGR10_SScaled 

Four channel ABGR 10-bit (2-bit alpha) signed format, four bytes per pixel.

A2BGR10_UInt 

Four channel ABGR 10-bit (2-bit alpha) unsigned format, four bytes per pixel.

A2BGR10_SInt 

Four channel ABGR 10-bit (2-bit alpha) signed format, four bytes per pixel.

B10GR11_UFloat 

Three channel BGR unsigned floating point format, 10-bit B, 11-bit GR, four bytes per pixel.

E5BGR9_UFloat 

Three channel BGR unsigned floating point format, 5-bit shared exponent, 9-bit BGR mantissa, four bytes per pixel.

Count 

Number of Format options.

◆ AspectMask

Defines the aspect mask bits.

Since
Kanzi 4.0.0
Enumerator
None 

No Aspect.

Color 

The Color Aspect.

Depth 

The Depth Aspect.

Stencil 

The Stencil Aspect.

◆ ChannelType

Defines the formats of an individual channel.

Since
Kanzi 4.0.0
Enumerator
Unknown 

Unknown type.

UnsignedInteger 

An unsigned integer.

SignedInteger 

A signed integer.

Float 

A floating point value.

◆ SwizzleChannel

Defines the channel swizzle options.

Since
Kanzi 4.0.0
Enumerator
Zero 

Zero is used.

One 

One is used.

Identity 

The source channel is chosen for simple passthrough of the channel.

The red source channel is used.

The green source channel is used.

The blue source channel is used.

The alpha source channel is used.

◆ BufferUsageFlag

Defines the options for Buffer usage.

The backend can use these options to optimize the buffer memory location.

Since
Kanzi 4.0.0
Enumerator
Invalid 

An invalid buffer usage option.

IndexBuffer 

The buffer can be used for an index buffer.

VertexBuffer 

The buffer can be used for a vertex buffer.

UniformBuffer 

The buffer can be used for a uniform buffer.

ShaderResource 

The buffer can be used for a shader resource.

UnorderedAccess 

The buffer can be used with unordered access.

CopyDestination 

The buffer can be used as a copy destination.

CopySource 

The buffer can be used as a copy source.

StorageBuffer 

The buffer can be used for a storage buffer.

IndirectBuffer 

The buffer can be used for a DrawIndirectCommand or DispatchIndirectCommand parameter buffer.

◆ AccessFlag

Defines the options for resource access.

Used for CPU access in buffers and resource access in reflection info.

Since
Kanzi 4.0.0
Enumerator
None 

The CPU has no direct access to the buffer.

Write 

The CPU can have access to write to the buffer.

Read 

The CPU can have access to read from the buffer.

ReadWrite 

The CPU can have access to read from and write to the buffer.

Persistent 

The CPU can have access to the buffer at the same time as the GPU.

Support is limited to backends that support the PersistentMapping feature flag.

◆ ImageUsageFlag

Defines the options for image usage.

The backend can use these options to optimize the image memory location.

Since
Kanzi 4.0.0
Enumerator
None 

No usage is specified.

SampledShaderResource 

Can be used as a sampled shader resource (sampler2D in glsl).

ShaderResource 

Can be used as a shader resource (image2d in glsl).

Attachment 

Can be used as an attachment.

CopyDestination 

Can be used as the destination of a copy operation.

CopySource 

Can be used as the source of a copy operation.

All 

Can be used for all operations.

◆ FormatFeatureFlag

Defines the features for an image format.

Since
Kanzi 4.0.0
Enumerator
None 

No Features Supported.

SampledShaderResource 

Can be used as a sampled shader resource.

SampledShaderResourceLinear 

Can be used as a sampled shader resource with linear filtering.

ShaderResource 

Can be used as a shader resource.

ShaderResourceAtomic 

Can be used as a shader resource that supports atomic operations.

ColorAttachment 

Can be used as a color attachment.

ColorAttachmentBlend 

Can be used as a color attachment that supports blending.

DepthStencilAttachment 

Can be used as a depth or stencil attachment.

CopyDestination 

Can be used as the destination of a copy operation.

CopySource 

Can be used as the source of a copy operation.

VertexAttribute 

Can be used as vertex attribute.

◆ ComparisonFunction

Defines the comparison functions for depth testing.

Since
Kanzi 4.0.0
Enumerator
Never 

Never passes the comparison.

Less 

Passes if the reference value is less than the target value.

Equal 

Passes if the reference value is equal to the target value.

LessEqual 

Passes if the reference value is less than or equal to the target value.

Greater 

Passes if the reference value is greater than the target value.

NotEqual 

Passes if the reference value is not equal to the target value.

GreaterEqual 

Passes if the reference value is greater than or equal to the target value.

Always 

Always passes the comparison.

Count 

Number of ComparisonFunction options.

◆ StencilOperation

Defines the stencil operations.

Since
Kanzi 4.0.0
Enumerator
Keep 

Keeps the current stencil buffer value.

Zero 

Sets the stencil buffer value to zero.

Replace 

Sets the stencil buffer value to the reference value.

IncrementSaturate 

Increases the current stencil buffer value.

DecrementSaturate 

Decreases the current stencil buffer value.

Invert 

Inverts the current stencil buffer value.

Increment 

Increases the stencil buffer value. From the maximum value, wraps to zero.

Decrement 

Decreases the stencil buffer value. When below zero, wraps to maximum - 1.

Count 

Number of StencilOperation options.

◆ BlendFactor

Defines the blend factors.

Since
Kanzi 4.0.0
Enumerator
Zero 

Multiplies by zero.

One 

Multiplies by one.

SourceColor 

Multiplies component-wise by the source color.

InverseSourceColor 

Multiplies component-wise by one minus source color.

SourceAlpha 

Multiplies by source alpha.

InverseSourceAlpha 

Multiplies by one minus source alpha.

DestinationColor 

Multiplies component-wise by destination color.

InverseDestinationColor 

Multiplies component-wise by one minus destination color.

DestinationAlpha 

Multiplies by destination alpha.

InverseDestinationAlpha 

Multiplies by one minus destination alpha.

SourceAlphaSaturate 

Multiplies by the smaller of source alpha and one minus destination alpha.

ConstantColor 

Multiplies component-wise by constant color.

InverseConstantColor 

Multiplies component-wise by one minus constant color.

ConstantAlpha 

Multiplies by constant alpha.

InverseConstantAlpha 

Multiplies by one minus constant alpha.

Count 

Number of BlendFactor options.

◆ BlendOperation

Defines the blend operations.

Since
Kanzi 4.0.0
Enumerator
Add 

Adds the source and destination.

Subtract 

Subtracts the destination from source.

Reverse_Subtract 

Subtracts the source from destination.

Min 

Returns the minimum of the source and destination.

Max 

Returns the maximum of the source and destination.

Multiply 

Returns the Multiply AdvancedBlendModes result.

Screen 

Returns the Screen AdvancedBlendModes result.

Overlay 

Returns the Overlay AdvancedBlendModes result.

Darken 

Returns the Darken AdvancedBlendModes result.

Lighten 

Returns the Lighten AdvancedBlendModes result.

ColorDodge 

Returns the ColorDodge AdvancedBlendModes result.

ColorBurn 

Returns the ColorBurn AdvancedBlendModes result.

HardLight 

Returns the HardLight AdvancedBlendModes result.

SoftLight 

Returns the SoftLight AdvancedBlendModes result.

Difference 

Returns the Difference AdvancedBlendModes result.

Exclusion 

Returns the Exclusion AdvancedBlendModes result.

HSL_Hue 

Returns the HSL_Hue AdvancedBlendModes result.

HSL_Saturation 

Returns the HSL_Saturation AdvancedBlendModes result.

HSL_Color 

Returns the HSL_Color AdvancedBlendModes result.

HSL_Luminosity 

Returns the HSL_Luminosity AdvancedBlendModes result.

Count 

Number of BlendOperation options.

◆ ColorWriteMask

Defines the write mask bits.

Since
Kanzi 4.0.0
Enumerator
None 
RGBA 

◆ FillMode

Defines the fill modes available to a raster state.

Since
Kanzi 4.0.0
Enumerator
Solid 

Solid fill mode.

Wireframe 

Wireframe fill mode.

Point 

Point fill mode.

Count 

Number of FillMode options.

◆ CullMode

Defines the cull modes available to a raster state.

Since
Kanzi 4.0.0
Enumerator
None 

Disables culling.

Front 

Culls front-facing polygons.

Back 

Culls back-facing polygons.

Count 

Number of CullMode options.

◆ FrontFaceOrientation

Defines the winding orders of a polygon.

Since
Kanzi 4.0.0
Enumerator
CounterClockwise 

Winding order is counter-clockwise.

Clockwise 

Winding order is clockwise.

Count 

Number of FrontFaceOrientation options.

◆ FilterMode

Defines the pixel filter modes available to a sampler.

Since
Kanzi 4.0.0
Enumerator
Nearest 

Picks the nearest pixel.

Linear 

Picks two nearest pixels and interpolates.

Count 

Number of FrontFaceOrientation options.

◆ MipMapMode

Defines the mipmap modes available to a sampler.

Since
Kanzi 4.0.0
Enumerator
Base 

Always uses the base image, no mipmaps used.

Nearest 

Picks the nearest mipmap level.

Linear 

Picks two nearest mipmap levels and interpolates.

Count 

Number of FrontFaceOrientation options.

◆ AddressMode

Defines the image addressing modes.

Since
Kanzi 4.0.0
Enumerator
ClampEdge 

Clamps the texture coordinates to the edge.

ClampBorder 

Clamps the texture coordinates to the border.

MirroredRepeat 

Mirror-repeats the texture coordinates.

Repeat 

Repeats the texture coordinates.

MirroredClampEdge 

Mirrors the coordinates once and then clamps to the edge.

Count 

Number of AddressMode options.

◆ VertexInputRate

Defines the rates for advancing vertex attributes.

Since
Kanzi 4.0.0
Enumerator
Vertex 

Advances vertex attributes per vertex.

Instance 

Advances vertex attributes per instance.

◆ AttachmentLoadOperation

Defines the ways to handle the content of an attachment that you load.

Since
Kanzi 4.0.0
Enumerator
Clear 

Clear the contents of the attachment.

Keep 

Keep the contents of the attachment.

DontCare 

Do not care about what happens to the attachment.

Count 

Number of AttachmentLoadOperation options.

Default 

The default value keeps the contents of the attachment.

To optimize performance, choose a different load operation.

◆ AttachmentStoreOperation

Defines if attachment contents need to be preserved after render pass.

Since
Kanzi 4.0.0
Enumerator
Store 

Store the contents of the attachment.

DontCare 

Attachment contents may be discarded.

Count 

Number of AttachmentStoreOperation options.

Default 

The default value keeps the contents of the attachment.

To optimize performance, choose a different store operation.

◆ WaitResult

Defines the results of a wait operation.

Since
Kanzi 4.0.0
Enumerator
TimeoutExpired 

The timeout expired, and the object is not signaled.

Signaled 

The object was signaled before the timeout.

Failed 

The wait operation failed.

◆ DevicePropertyId

Defines the queryable device properties.

The device properties are fixed at runtime.

Since
Kanzi 4.0.0
Enumerator
MaxColorAttachments 

Maximum color attachments supported on a frame buffer.

MaxFramebufferHeight 

Maximum frame buffer height in pixels.

MaxFramebufferWidth 

Maximum frame buffer width in pixels.

MaxTextureSize 

Maximum dimension of a texture in pixels.

MaxCubemapTextureSize 

Maximum dimension of a cubemap texture in pixels.

MaxTexelBufferElements 

Maximum texel buffer elements.

MaxTessellationPatchSize 

Maximum Tessellation Patch Size.

UniformBufferOffsetAlignment 

Required uniform buffer offset alignment in bytes. Minimum returned value is 1 byte.

StorageBufferOffsetAlignment 

Required shader storage buffer offset alignment in bytes. Minimum returned value is 1 byte.

MaxSampleCount 

Maximum supported MSAA sample count.

MaxSamplerAnisotropy 

Maximum sampler anisotropy.

MaxVertexAttributes 

Maximum vertex attributes.

MaxVertexAttributeRelativeOffset 

Maximum vertex attribute relative offset.

MaxVertexAttributeStride 

Maximum vertex attribute stride.

MinLineWidth 

Minimum supported line width in pixels.

MaxLineWidth 

Maximum supported line width in pixels.

Count 

Number of DevicePropertyId options.

◆ FeatureId

Defines the KzGfx features that can be present or missing on a specific platform.

Since
Kanzi 4.0.0
Enumerator
AddressModeMirroredClampEdge 

Whether AddressMode::MirroredClampEdge is available.

AddressModeClampBorder 

Whether AddressMode::ClampBorder is available.

SamplerCustomBorderColor 

Whether SamplerCreateInfo::borderColor can be other than opaque black, translucent black, or opaque white.

IndependentBlend 

Whether blending can be configured per attachment.

CubeMapArray 

Whether cubemap array is available.

TextureSubView 

Whether ResourceSetCreateInfo::ImageView can define subviews when using samplers.

GeometryShaders 

Whether geometry shaders are available.

TessellationShaders 

Whether tessellation shaders are available.

ComputeShaders 

Whether compute shaders and storage buffers are available.

sRGBSurface 

Whether an sRGB-encoded surface frame buffer is available.

TexelBufferView 

Whether TexelBufferView is available.

IndexBufferTypeUint8 

Whether 8-bit index buffer type is supported.

TextureStorage2DMultisample 

Whether specifying storage for a two-dimensional multisample texture is supported.

TextureStorage3DMultisample 

Whether specifying storage for a three-dimensional multisample array texture is supported.

NonSolidPolygonFillMode 

Whether non solid polygon fill mode (line or point) are available.

DrawIndirect 

Whether draw indirect is available.

WideLines 

Whether line width can be changed.

AdvancedBlendModes 

Whether advanced blend equation is available.

FlipSurface 

Whether surface is flipped vertically.

SamplerAnisotropy 

Whether anisotropic texture filtering is available.

DebugOutput 

Debug output is available.

DepthStencilResolve 

Depth / stencil resolve is available.

ExternalTextureHandle 

Whether external image for texture is supported.

Caching 

Whether program/pipeline caching is supported.

PersistentMapping 

Whether persistent mapping of buffers is supported.

MultiUseBuffers 

Whether buffers can share multiple usage flags.

Count 

Number of FeatureId options.

◆ ShaderStage

Defines the shader stages.

Since
Kanzi 4.0.0
Enumerator
Vertex 

Vertex Shader.

TessellationControl 

Tessellation Control Shader.

TessellationEvaluation 

Tessellation Evaluation Shader.

Geometry 

Geometry Shader.

Fragment 

Fragment Shader.

Compute 

Compute Shader.

Combined 

Combined Shader.

Count 

Number of ShaderStage options.

◆ ShaderFormatFamily

Defines a shader format family.

Since
Kanzi 4.0.0
Enumerator
Classic 

Shaders targeting the classic Kanzi renderer.

VulkanSpirv 

Shaders targeting Vulkan SPIR-V.

GlslES 

Shaders targeting OpenGL ES.

Glsl 

Shaders targeting OpenGL.

◆ ShaderFormat

Defines shader formats.

Since
Kanzi 4.0.0
Enumerator
Classic 

Shader compatible with the classic Kanzi renderer.

VulkanSpirv13 

Vulkan SPIR-V bytecode version 1.3. This is the default value used by Vulkan 1.1.

VulkanSpirv14 

Vulkan SPIR-V bytecode version 1.4.

VulkanSpirv15 

Vulkan SPIR-V bytecode version 1.5. This is the default value used by Vulkan 1.2.

VulkanSpirv16 

Vulkan SPIR-V bytecode version 1.6. This is the default value used by Vulkan 1.3.

GlslES30 

OpenGL ES shading language version 3.0.

GlslES31 

OpenGL ES shading language version 3.1.

GlslES32 

OpenGL ES shading language version 3.2.

Glsl33 

OpenGL shading language version 3.3.

Glsl40 

OpenGL shading language version 4.0.

Glsl41 

OpenGL shading language version 4.1.

Glsl42 

OpenGL shading language version 4.2.

Glsl43 

OpenGL shading language version 4.3.

Glsl44 

OpenGL shading language version 4.4.

Glsl45 

OpenGL shading language version 4.5.

Glsl46 

OpenGL shading language version 4.6.

◆ APIBackend

Defines the available API backend implementations.

Since
Kanzi 4.0.0
Enumerator
OpenGL 

OpenGL.

OpenGLES 

OpenGL ES.

Vulkan 

Vulkan.

Unknown 

Unknown.

Count 

Number of APIBackend options.

◆ GpuSelectionType

Defines the preferred GPU selection type.

Since
Kanzi 4.0.0
Enumerator
First 

First device enumerated, usually controlled by user via a control panel application. This is the default.

LargestMemory 

Device with largest memory total.

Discrete 

Discrete GPU device. The device is typically a separate processor connected to the host.

Integrated 

Integrated GPU device. The device is typically one embedded in or tightly coupled with the host.

CPU 

CPU implementation. The device is typically running on the same processor as the host.

Function Documentation

◆ operator==()

constexpr bool kanzi::gfx::operator== ( const ImageSubresource & lhs,
const ImageSubresource & rhs )
constexpr

Equality operator for ImageSubresource.

Since
Kanzi 4.0.0

◆ operator!=()

constexpr bool kanzi::gfx::operator!= ( const ImageSubresource & lhs,
const ImageSubresource & rhs )
constexpr

Not equal operator for ImageSubresource.

Since
Kanzi 4.0.0