feat(video_core): Implement HybridMemory for advanced Vulkan memory management
Adds a new cross-platform memory management system with enhanced capabilities: - Fault-managed memory allocation for Linux/Android platforms - Memory snapshot and differential snapshot support - Predictive memory reuse tracking for optimized access patterns - Vulkan compute buffer integration - User-configurable settings for enabling features The system integrates with the existing Vulkan renderer to provide more efficient memory handling, especially for compute-intensive workloads. Co-authored-by: boss.sfc <boss.sfc@citron-emu.org> Co-committed-by: boss.sfc <boss.sfc@citron-emu.org> Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
parent
19febba866
commit
964bbf489a
6 changed files with 519 additions and 1 deletions
|
|
@ -198,7 +198,9 @@ struct Values {
|
|||
MemoryLayout::Memory_4Gb,
|
||||
MemoryLayout::Memory_12Gb,
|
||||
"memory_layout_mode",
|
||||
Category::Core};
|
||||
Category::Core,
|
||||
Specialization::Default,
|
||||
false};
|
||||
SwitchableSetting<bool> use_speed_limit{
|
||||
linkage, true, "use_speed_limit", Category::Core, Specialization::Paired, false, true};
|
||||
SwitchableSetting<u16, true> speed_limit{linkage,
|
||||
|
|
@ -211,6 +213,11 @@ struct Values {
|
|||
true,
|
||||
true,
|
||||
&use_speed_limit};
|
||||
SwitchableSetting<bool> use_nce{linkage, true, "use_nce", Category::Core};
|
||||
|
||||
// Memory
|
||||
SwitchableSetting<bool> use_gpu_memory_manager{linkage, false, "use_gpu_memory_manager", Category::Core};
|
||||
SwitchableSetting<bool> enable_memory_snapshots{linkage, false, "enable_memory_snapshots", Category::Core};
|
||||
|
||||
// Cpu
|
||||
SwitchableSetting<CpuBackend, true> cpu_backend{linkage,
|
||||
|
|
|
|||
Reference in a new issue