#ifndef EMULATOR_INCLUDE_EMULATOR_CONFIG_H_ #define EMULATOR_INCLUDE_EMULATOR_CONFIG_H_ #include "Kyty/Core/Common.h" #include "Kyty/Core/String.h" #include "Kyty/Core/Subsystems.h" #include "Emulator/Common.h" #ifdef KYTY_EMU_ENABLED namespace Kyty::Scripts { class ScriptVar; } // namespace Kyty::Scripts namespace Kyty::Config { KYTY_SUBSYSTEM_DEFINE(Config); enum class ShaderOptimizationType { None, Size, Performance }; enum class ShaderLogDirection { Silent, Console, File }; enum class ProfilerDirection { None, File, Network, FileAndNetwork }; void Load(const Scripts::ScriptVar& cfg); uint32_t GetScreenWidth(); uint32_t GetScreenHeight(); bool IsNeo(); bool VulkanValidationEnabled(); bool ShaderValidationEnabled(); ShaderOptimizationType GetShaderOptimizationType(); ShaderLogDirection GetShaderLogDirection(); String GetShaderLogFolder(); bool CommandBufferDumpEnabled(); String GetCommandBufferDumpFolder(); Log::Direction GetPrintfDirection(); String GetPrintfOutputFile(); String GetPrintfOutputFolder(); ProfilerDirection GetProfilerDirection(); String GetProfilerOutputFile(); bool SpirvDebugPrintfEnabled(); bool PipelineDumpEnabled(); String GetPipelineDumpFolder(); } // namespace Kyty::Config #endif #endif /* EMULATOR_INCLUDE_EMULATOR_CONFIG_H_ */