|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
Namespaces | |
| namespace | detail |
Classes | |
| struct | BindingSlot |
| Declaration of one SSBO or image binding in a generated shader. More... | |
| struct | BlendAttachmentConfig |
| Per-attachment blend configuration. More... | |
| class | ComputePress |
| Compute-specific pipeline and dispatch orchestration. More... | |
| struct | ComputeStage |
| One pipeline dispatch within a ComputePress::record_sequence call. More... | |
| struct | DepthStencilConfig |
| Depth and stencil test configuration. More... | |
| struct | DescriptorBindingInfo |
| struct | DescriptorBufferWrite |
| One descriptor set slot to update, for ShaderFoundry::update_descriptor_buffers. More... | |
| struct | DescriptorImageWrite |
| One descriptor set slot to update, for ShaderFoundry::update_descriptor_images. More... | |
| struct | DrawRun |
| One contiguous span of vertices sharing a primitive topology. More... | |
| struct | FitPlan |
| One fit expressed for both ways of applying it. More... | |
| struct | FunctionDef |
| A standalone function emitted before main() in the generated GLSL. More... | |
| struct | GpuBufferBinding |
| Declares a single storage buffer or image binding a compute shader expects. More... | |
| struct | GpuBufferHandle |
| Non-owning view of a GPU storage buffer produced by a compute path. More... | |
| struct | GpuComputeConfig |
| Plain-data description of the compute shader to dispatch. More... | |
| struct | HazardResource |
| One resource this stage's dispatch reads/writes that a later stage in the sequence depends on, paired with its binding metadata for barrier construction. More... | |
| struct | ImageCacheEntry |
| Image retained by the producing owner. More... | |
| class | ImageCacheSet |
| Cache images keyed by immutable allocation properties. More... | |
| struct | ImageKey |
| Immutable properties that determine whether an image can be reused. More... | |
| struct | ImageKeyHash |
| Hash image allocation properties for keyed reuse. More... | |
| struct | IndirectDispatch |
| Optional GPU-resident source of a stage's workgroup counts. More... | |
| struct | KernelSource |
| Parsed representation of a user-supplied kernel lambda. More... | |
| struct | LayerBlit |
| One layer to layer copy that scales and converts format. More... | |
| struct | MillSpec |
| How a PrimitiveMill shapes spans. More... | |
| struct | MillView |
| Per-dispatch viewpoint. More... | |
| class | PrimitiveMill |
| Mills spans of mixed primitive topology into one TRIANGLE_LIST vertex buffer on the GPU. More... | |
| struct | PushConstantBindingInfo |
| Self-describing push constant fragment staged on a VKBuffer. More... | |
| struct | PushConstantField |
| One field in the generated push constant block. More... | |
| struct | PushConstantRangeInfo |
| Extracted push constant range from shader reflection. More... | |
| struct | RasterizationConfig |
| Rasterization state configuration. More... | |
| struct | RenderConfig |
| Unified rendering configuration for graphics buffers. More... | |
| class | RenderFlow |
| Graphics pipeline orchestration for dynamic rendering. More... | |
| struct | RenderPipelineConfig |
| Complete render pipeline configuration. More... | |
| struct | SamplerConfig |
| Sampler configuration. More... | |
| class | SamplerForge |
| Creates and caches Vulkan samplers (Singleton) More... | |
| struct | ShaderCompilerConfig |
| Configuration for shader compilation. More... | |
| class | ShaderFoundry |
| Portal-level shader compilation and caching. More... | |
| struct | ShaderReflectionInfo |
| Extracted reflection information from compiled shader. More... | |
| struct | ShaderSource |
| Shader source descriptor for compilation. More... | |
| struct | ShaderSpec |
| Complete declarative description of a generated compute shader. More... | |
| class | TextureLoom |
| Portal-level texture creation and management. More... | |
| class | VertexLayoutTranslator |
| Translates semantic vertex layouts to Vulkan pipeline state. More... | |
Typedefs | |
| using | CommandBufferID = uint64_t |
| using | ComputePipelineID = uint64_t |
| using | DescriptorSetID = uint64_t |
| using | FenceID = uint64_t |
| using | FramebufferID = uint64_t |
| using | ImageFormat = Kakshya::ImageFormat |
| Portal name for Kakshya::ImageFormat, which maps to vk::Format in TextureLoom. | |
| using | RenderPipelineID = uint64_t |
| using | SemaphoreID = uint64_t |
| using | ShaderID = uint64_t |
Enumerations | |
| enum class | AddressMode : uint8_t { REPEAT , MIRRORED_REPEAT , CLAMP_TO_EDGE , CLAMP_TO_BORDER } |
| Texture addressing mode (wrapping) More... | |
| enum class | BindingDirection : uint8_t { Input , Output , InOut } |
| Data flow direction for a shader binding slot. More... | |
| enum class | BlendFactor : uint8_t { ZERO , ONE , SRC_COLOR , ONE_MINUS_SRC_COLOR , DST_COLOR , ONE_MINUS_DST_COLOR , SRC_ALPHA , ONE_MINUS_SRC_ALPHA , DST_ALPHA , ONE_MINUS_DST_ALPHA } |
| Blending factor. More... | |
| enum class | BlendOp : uint8_t { ADD , SUBTRACT , REVERSE_SUBTRACT , MIN , MAX } |
| Blending operation. More... | |
| enum class | BorderColor : uint8_t { DEFAULT , TRANSPARENT_BLACK , OPAQUE_BLACK , OPAQUE_WHITE } |
| Color read outside the texture when an address mode is CLAMP_TO_BORDER. More... | |
| enum class | BufferUsageHint : uint8_t { STAGING , DEVICE , COMPUTE , VERTEX , INDEX , UNIFORM , UNIFORM_BDA , STORAGE_BDA , INDIRECT , HOST_STORAGE , COMPUTE_STORAGE } |
| Semantic usage hint for buffer allocation and memory properties. More... | |
| enum class | CompareOp : uint8_t { NEVER , LESS , EQUAL , LESS_OR_EQUAL , GREATER , NOT_EQUAL , GREATER_OR_EQUAL , ALWAYS } |
| Depth/stencil comparison operation. More... | |
| enum class | CullMode : uint8_t { NONE , FRONT , BACK , FRONT_AND_BACK } |
| Face culling mode. More... | |
| enum class | DescriptorRole : uint8_t { UNIFORM , STORAGE , TEXTURE , STORAGE_IMAGE } |
| Semantic descriptor type — maps to Vulkan descriptor types internally. More... | |
| enum class | FilterMode : uint8_t { NEAREST , LINEAR , CUBIC } |
| Texture filtering mode. More... | |
| enum class | FitMode : uint8_t { STRETCH , CONTAIN , COVER , CENTER , TILE , TILE_MIRRORED } |
| How a source extent is mapped onto a destination extent. More... | |
| enum class | KernelOp : uint8_t { Scale , ScaleOffset , Fma , Offset , Clip , Abs , Negate , Floor , Ceil , Round , Trunc , Fract , Sqrt , InverseSqrt , Sin , Cos , Tan , Asin , Acos , Atan , Sinh , Cosh , Tanh , Exp , Exp2 , Log , Log2 , Add , Multiply , Mix , Sub , Pow , Atan2 , Min , MaxTwo , Step , SmoothStep , Sum , Max , ScanSum , MaxIndex , IndexScale , CompareGE , CompareGEPreserve , ChannelDot , ChannelReplicate , WeightedBlend } |
| Named operation the SPIR-V emitter knows how to lower to opcodes. More... | |
| enum class | KernelTemplate : uint8_t { Elementwise , Reduction , Stencil , GeometryEmit , BitonicSort , Convolve2D , Scan } |
| Structural shape of the generated compute kernel. More... | |
| enum class | PolygonMode : uint8_t { FILL , LINE , POINT } |
| Rasterization polygon mode. More... | |
| enum class | PrimitiveTopology : uint8_t { POINT_LIST , LINE_LIST , LINE_STRIP , TRIANGLE_LIST , TRIANGLE_STRIP , TRIANGLE_FAN } |
| Vertex assembly primitive topology. More... | |
| enum class | ShaderStage : uint8_t { COMPUTE , VERTEX , FRAGMENT , GEOMETRY , TESS_CONTROL , TESS_EVALUATION , MESH , TASK } |
| User-friendly shader stage enum. More... | |
Functions | |
| size_t | element_type_bytes (GpuBufferBinding::ElementType et) noexcept |
| Byte width of one GpuBufferBinding::ElementType element. | |
| MAYAFLUX_API ComputePress & | get_compute_press () |
| MAYAFLUX_API RenderFlow & | get_render_flow () |
| Get the global render flow instance. | |
| SamplerForge & | get_sampler_factory () |
| Convenience wrapper around SamplerForge::instance() | |
| MAYAFLUX_API ShaderFoundry & | get_shader_foundry () |
| Get the global shader compiler instance. | |
| MAYAFLUX_API TextureLoom & | get_texture_manager () |
| Get the global texture manager instance. | |
| bool | initialize (const std::shared_ptr< Core::VulkanBackend > &backend) |
| Initialize Portal::Graphics Glue Layer. | |
| constexpr bool | is_concatenable_topology (PrimitiveTopology topology) noexcept |
| Whether two adjacent spans of this topology can be concatenated without altering the primitives they assemble. | |
| bool | is_initialized () |
| Check if Portal::Graphics is initialized. | |
| Kakshya::VertexLayout | mill_on_host (std::span< const uint8_t > src, const Kakshya::VertexLayout &layout, std::span< const DrawRun > runs, const MillSpec &spec, const MillView &view, std::vector< uint8_t > &dst) |
| Host equivalent of PrimitiveMill::mill, over raw bytes. | |
| Kakshya::GpuBlockLayout | push_constant_layout (const std::vector< PushConstantField > &fields) |
| Offsets and total size of a push constant block, under std430. | |
| void | shutdown () |
| Shutdown Portal::Graphics subsystem. | |
| void | stop () |
| Stop all Portal::Graphics operations. | |
| vk::BufferUsageFlags | to_buffer_usage_flags (BufferUsageHint hint) |
| Resolve the extra vk::BufferUsageFlags a BufferUsageHint requires, on top of whatever base usage the caller already applies. | |
| vk::DescriptorType | to_vk_descriptor_type (DescriptorRole role) |
| Convert DescriptorRole to the corresponding vk::DescriptorType. | |
| constexpr uint32_t | triangle_vertex_count (PrimitiveTopology topology, uint32_t n) noexcept |
Vertices a span of n at topology yields once reduced to a TRIANGLE_LIST, with points becoming quads and line segments ribbons. | |
Variables | |
| const std::array< float, 4 > | default_color { 0.0F, 0.0F, 0.0F, 1.0F } |
| constexpr CommandBufferID | INVALID_COMMAND_BUFFER = 0 |
| constexpr ComputePipelineID | INVALID_COMPUTE_PIPELINE = 0 |
| constexpr DescriptorSetID | INVALID_DESCRIPTOR_SET = 0 |
| constexpr FenceID | INVALID_FENCE = 0 |
| constexpr FramebufferID | INVALID_FRAMEBUFFER = 0 |
| constexpr RenderPipelineID | INVALID_RENDER_PIPELINE = 0 |
| constexpr SemaphoreID | INVALID_SEMAPHORE = 0 |
| constexpr ShaderID | INVALID_SHADER = 0 |