|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Configuration for graphics API backend (Vulkan/OpenGL/etc.) More...
#include <GlobalGraphicsInfo.hpp>
Collaboration diagram for MayaFlux::Core::GraphicsBackendInfo:Public Types | |
| enum class | MemoryStrategy : uint8_t { CONSERVATIVE , BALANCED , AGGRESSIVE } |
| Memory allocation strategy. More... | |
| enum class | CommandPooling : uint8_t { PER_THREAD , SHARED , PER_QUEUE } |
| Command buffer pooling strategy. More... | |
| enum class | ShaderCompilation : uint8_t { RUNTIME , PRECOMPILED , CACHED } |
| Shader compilation strategy. More... | |
Public Attributes | ||
| bool | enable_validation = true | |
| Enable validation layers (debug builds) | ||
| bool | enable_debug_markers = false | |
| Enable GPU debug markers (for profiling tools) | ||
| struct { | ||
| bool compute_shaders = true | ||
| bool geometry_shaders = false | ||
| bool tessellation_shaders = false | ||
| bool multi_viewport = false | ||
| bool sampler_anisotropy = true | ||
| bool fill_mode_non_solid = false | ||
| } | required_features | |
| Required device features (Vulkan-specific) | ||
| enum MayaFlux::Core::GraphicsBackendInfo::MemoryStrategy | memory_strategy = MemoryStrategy::BALANCED | |
| enum MayaFlux::Core::GraphicsBackendInfo::CommandPooling | command_pooling = CommandPooling::PER_THREAD | |
| uint32_t | max_frames_in_flight = 2 | |
| Maximum number of frames in flight (GPU pipelining) | ||
| bool | enable_compute_queue = true | |
| Enable compute queue (separate from graphics) | ||
| bool | enable_transfer_queue = false | |
| Enable transfer queue (separate from graphics) | ||
| enum MayaFlux::Core::GraphicsBackendInfo::ShaderCompilation | shader_compilation = ShaderCompilation::CACHED | |
| std::filesystem::path | shader_cache_dir = "cache/shaders" | |
| Shader cache directory (if caching enabled) | ||
| std::vector< std::string > | required_extensions | |
| Backend-specific extensions to request. | ||
| std::vector< std::string > | optional_extensions | |
Configuration for graphics API backend (Vulkan/OpenGL/etc.)
Separate from windowing - this is GPU/rendering configuration. GraphicsSurfaceInfo handles windows, this handles the graphics API.
Definition at line 16 of file GlobalGraphicsInfo.hpp.