Initial commit

This commit is contained in:
nmzik
2026-07-16 10:21:41 +02:00
commit 147188b143
427 changed files with 205923 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
#include "common/emulatorConfig.h"
#include "common/assert.h"
#include <algorithm>
#include <memory>
namespace Config {
static std::unique_ptr<ConfigOptions> g_config;
KYTY_SUBSYSTEM_INIT(Config) {
EXIT_IF(g_config != nullptr);
g_config = std::make_unique<ConfigOptions>();
}
KYTY_SUBSYSTEM_UNEXPECTED_SHUTDOWN(Config) {}
KYTY_SUBSYSTEM_DESTROY(Config) {}
void Load(const ConfigOptions& cfg) {
EXIT_IF(g_config == nullptr);
*g_config = cfg;
}
uint32_t GetScreenWidth() {
return g_config->screen_width;
}
uint32_t GetScreenHeight() {
return g_config->screen_height;
}
uint32_t GetVblankFrequency() {
return std::clamp(g_config->vblank_frequency, 30u, 360u);
}
bool VulkanValidationEnabled() {
return g_config->vulkan_validation_enabled;
}
bool ShaderValidationEnabled() {
return g_config->shader_validation_enabled;
}
ShaderOptimizationType GetShaderOptimizationType() {
return g_config->shader_optimization_type;
}
ShaderLogDirection GetShaderLogDirection() {
return g_config->shader_log_direction;
}
std::filesystem::path GetShaderLogFolder() {
return g_config->shader_log_folder;
}
bool CommandBufferDumpEnabled() {
return g_config->command_buffer_dump_enabled;
}
std::filesystem::path GetCommandBufferDumpFolder() {
return g_config->command_buffer_dump_folder;
}
bool GraphicsDebugDumpEnabled() {
return g_config->graphics_debug_dump_enabled;
}
OutputDirection GetPrintfDirection() {
return g_config->printf_direction;
}
std::filesystem::path GetPrintfOutputFile() {
return g_config->printf_output_file;
}
ProfilerDirection GetProfilerDirection() {
return g_config->profiler_direction;
}
bool SpirvDebugPrintfEnabled() {
return g_config->spirv_debug_printf_enabled;
}
bool PipelineDumpEnabled() {
return g_config->pipeline_dump_enabled;
}
std::filesystem::path GetPipelineDumpFolder() {
return g_config->pipeline_dump_folder;
}
bool RenderDocEnabled() {
return g_config->renderdoc_enabled;
}
bool NggRectlistDrawEnabled() {
return g_config->ngg_rectlist_draw_enabled;
}
} // namespace Config