MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::GraphicsBackendInfo Struct Reference

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
 

Detailed Description

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.


The documentation for this struct was generated from the following file: