WIP: Enhance shader compilation performance and control
This commit adds new settings and optimizations for shader compilation: - Add new settings: - use_enhanced_shader_building: Enable enhanced shader compilation - shader_compilation_priority: Control shader compilation priority - Improve shader compilation performance: - Optimize worker thread allocation based on CPU cores - Add smarter async shader compilation heuristics - Prioritize vertex and fragment shader compilation - Add performance tracking and logging - Add performance monitoring: - Track shader compilation times - Log slow shader compilations - Monitor async shader compilation statistics This is a work in progress commit. Further optimizations and refinements will be needed based on testing and feedback. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
parent
bc86307ad6
commit
c57a5fef92
8 changed files with 249 additions and 33 deletions
|
@ -1,4 +1,5 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Citron Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
@ -629,11 +630,21 @@ struct Values {
|
|||
|
||||
// Add-Ons
|
||||
std::map<u64, std::vector<std::string>> disabled_addons;
|
||||
|
||||
// Renderer Advanced Settings
|
||||
SwitchableSetting<bool> use_enhanced_shader_building{linkage, false, "Enhanced Shader Building",
|
||||
Category::RendererAdvanced};
|
||||
|
||||
// Add a new setting for shader compilation priority
|
||||
SwitchableSetting<int> shader_compilation_priority{linkage, 0, "Shader Compilation Priority",
|
||||
Category::RendererAdvanced};
|
||||
};
|
||||
|
||||
extern Values values;
|
||||
|
||||
void UpdateGPUAccuracy();
|
||||
// boold isGPULevelNormal();
|
||||
// TODO: ZEP
|
||||
bool IsGPULevelExtreme();
|
||||
bool IsGPULevelHigh();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue