mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-28 22:06:59 +01:00
config: simplify logging and profiler options. Change to Mailbox
This commit is contained in:
@@ -75,7 +75,7 @@ ShaderOptimizationType GetShaderOptimizationType() {
|
|||||||
return g_config->shader_optimization_type;
|
return g_config->shader_optimization_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
ShaderLogDirection GetShaderLogDirection() {
|
LogDirection GetShaderLogDirection() {
|
||||||
return g_config->shader_log_direction;
|
return g_config->shader_log_direction;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ bool GraphicsDebugDumpEnabled() {
|
|||||||
return g_config->graphics_debug_dump_enabled;
|
return g_config->graphics_debug_dump_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
OutputDirection GetPrintfDirection() {
|
LogDirection GetPrintfDirection() {
|
||||||
return g_config->printf_direction;
|
return g_config->printf_direction;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,8 +103,8 @@ std::filesystem::path GetPrintfOutputFile() {
|
|||||||
return g_config->printf_output_file;
|
return g_config->printf_output_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProfilerDirection GetProfilerDirection() {
|
bool ProfilerEnabled() {
|
||||||
return g_config->profiler_direction;
|
return g_config->profiler_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SpirvDebugPrintfEnabled() {
|
bool SpirvDebugPrintfEnabled() {
|
||||||
|
|||||||
@@ -21,11 +21,7 @@ struct Lifecycle {
|
|||||||
|
|
||||||
enum class ShaderOptimizationType { None, Size, Performance };
|
enum class ShaderOptimizationType { None, Size, Performance };
|
||||||
|
|
||||||
enum class ShaderLogDirection { Silent, Console, File };
|
enum class LogDirection { Silent, Console, File };
|
||||||
|
|
||||||
enum class ProfilerDirection { None, Network };
|
|
||||||
|
|
||||||
enum class OutputDirection { Silent, Console, File };
|
|
||||||
|
|
||||||
enum class PresentMode { Fifo, Mailbox, Immediate };
|
enum class PresentMode { Fifo, Mailbox, Immediate };
|
||||||
|
|
||||||
@@ -47,7 +43,7 @@ struct ConfigOptions {
|
|||||||
uint32_t screen_height = 720;
|
uint32_t screen_height = 720;
|
||||||
std::string user_name = "Kyty";
|
std::string user_name = "Kyty";
|
||||||
int32_t user_id = DEFAULT_USER_ID;
|
int32_t user_id = DEFAULT_USER_ID;
|
||||||
PresentMode present_mode = PresentMode::Fifo;
|
PresentMode present_mode = PresentMode::Mailbox;
|
||||||
int32_t gpu_index = -1;
|
int32_t gpu_index = -1;
|
||||||
bool fullscreen_enabled = false;
|
bool fullscreen_enabled = false;
|
||||||
uint32_t vblank_frequency = 60;
|
uint32_t vblank_frequency = 60;
|
||||||
@@ -55,14 +51,14 @@ struct ConfigOptions {
|
|||||||
bool vulkan_validation_enabled = false;
|
bool vulkan_validation_enabled = false;
|
||||||
bool shader_validation_enabled = false;
|
bool shader_validation_enabled = false;
|
||||||
ShaderOptimizationType shader_optimization_type = ShaderOptimizationType::None;
|
ShaderOptimizationType shader_optimization_type = ShaderOptimizationType::None;
|
||||||
ShaderLogDirection shader_log_direction = ShaderLogDirection::Silent;
|
LogDirection shader_log_direction = LogDirection::Silent;
|
||||||
std::filesystem::path shader_log_folder = "_Shaders";
|
std::filesystem::path shader_log_folder = "_Shaders";
|
||||||
bool command_buffer_dump_enabled = false;
|
bool command_buffer_dump_enabled = false;
|
||||||
std::filesystem::path command_buffer_dump_folder = "_Buffers";
|
std::filesystem::path command_buffer_dump_folder = "_Buffers";
|
||||||
bool graphics_debug_dump_enabled = false;
|
bool graphics_debug_dump_enabled = false;
|
||||||
OutputDirection printf_direction = OutputDirection::Silent;
|
LogDirection printf_direction = LogDirection::Silent;
|
||||||
std::filesystem::path printf_output_file = "_kyty.txt";
|
std::filesystem::path printf_output_file = "_kyty.txt";
|
||||||
ProfilerDirection profiler_direction = ProfilerDirection::None;
|
bool profiler_enabled = false;
|
||||||
bool spirv_debug_printf_enabled = false;
|
bool spirv_debug_printf_enabled = false;
|
||||||
bool gpu_assisted_validation_enabled = false;
|
bool gpu_assisted_validation_enabled = false;
|
||||||
bool renderdoc_enabled = false;
|
bool renderdoc_enabled = false;
|
||||||
@@ -89,7 +85,7 @@ bool VulkanValidationEnabled();
|
|||||||
|
|
||||||
bool ShaderValidationEnabled();
|
bool ShaderValidationEnabled();
|
||||||
ShaderOptimizationType GetShaderOptimizationType();
|
ShaderOptimizationType GetShaderOptimizationType();
|
||||||
ShaderLogDirection GetShaderLogDirection();
|
LogDirection GetShaderLogDirection();
|
||||||
std::filesystem::path GetShaderLogFolder();
|
std::filesystem::path GetShaderLogFolder();
|
||||||
|
|
||||||
bool CommandBufferDumpEnabled();
|
bool CommandBufferDumpEnabled();
|
||||||
@@ -97,10 +93,10 @@ std::filesystem::path GetCommandBufferDumpFolder();
|
|||||||
|
|
||||||
bool GraphicsDebugDumpEnabled();
|
bool GraphicsDebugDumpEnabled();
|
||||||
|
|
||||||
OutputDirection GetPrintfDirection();
|
LogDirection GetPrintfDirection();
|
||||||
std::filesystem::path GetPrintfOutputFile();
|
std::filesystem::path GetPrintfOutputFile();
|
||||||
|
|
||||||
ProfilerDirection GetProfilerDirection();
|
bool ProfilerEnabled();
|
||||||
|
|
||||||
bool SpirvDebugPrintfEnabled();
|
bool SpirvDebugPrintfEnabled();
|
||||||
|
|
||||||
|
|||||||
@@ -152,9 +152,9 @@ void WriteFatal(fmt::text_style style, std::string_view text) {
|
|||||||
void Initialize() {
|
void Initialize() {
|
||||||
g_initialized = true;
|
g_initialized = true;
|
||||||
switch (Config::GetPrintfDirection()) {
|
switch (Config::GetPrintfDirection()) {
|
||||||
case Config::OutputDirection::Silent: g_direction = Direction::Silent; break;
|
case Config::LogDirection::Silent: g_direction = Direction::Silent; break;
|
||||||
case Config::OutputDirection::Console: g_direction = Direction::Console; break;
|
case Config::LogDirection::Console: g_direction = Direction::Console; break;
|
||||||
case Config::OutputDirection::File: g_direction = Direction::File; break;
|
case Config::LogDirection::File: g_direction = Direction::File; break;
|
||||||
}
|
}
|
||||||
g_output_file =
|
g_output_file =
|
||||||
(g_direction == Direction::File ? Config::GetPrintfOutputFile() : std::filesystem::path {});
|
(g_direction == Direction::File ? Config::GetPrintfOutputFile() : std::filesystem::path {});
|
||||||
|
|||||||
+7
-13
@@ -55,19 +55,13 @@ void SetThreadName(const char* name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Initialize() {
|
void Initialize() {
|
||||||
switch (Config::GetProfilerDirection()) {
|
if (Config::ProfilerEnabled() && !tracy::ProfilerAvailable()) {
|
||||||
case Config::ProfilerDirection::Network:
|
tracy::StartupProfiler();
|
||||||
if (!tracy::ProfilerAvailable()) {
|
TracySetProgramName("KytyPS5");
|
||||||
tracy::StartupProfiler();
|
::printf("Tracy profiler enabled: client %d.%d.%d, protocol %u, "
|
||||||
TracySetProgramName("KytyPS5");
|
"broadcast %u, connect to 127.0.0.1:8086\n",
|
||||||
::printf("Tracy profiler enabled: client %d.%d.%d, protocol %u, "
|
tracy::Version::Major, tracy::Version::Minor, tracy::Version::Patch,
|
||||||
"broadcast %u, connect to 127.0.0.1:8086\n",
|
tracy::ProtocolVersion, tracy::BroadcastVersion);
|
||||||
tracy::Version::Major, tracy::Version::Minor, tracy::Version::Patch,
|
|
||||||
tracy::ProtocolVersion, tracy::BroadcastVersion);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case Config::ProfilerDirection::None:
|
|
||||||
default: break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ private:
|
|||||||
|
|
||||||
static bool GraphicsRunDebugDumpEnabled() {
|
static bool GraphicsRunDebugDumpEnabled() {
|
||||||
return Config::GraphicsDebugDumpEnabled() &&
|
return Config::GraphicsDebugDumpEnabled() &&
|
||||||
Config::GetPrintfDirection() != Config::OutputDirection::Silent;
|
Config::GetPrintfDirection() != Config::LogDirection::Silent;
|
||||||
}
|
}
|
||||||
|
|
||||||
GuestGpu::GuestGpu(RenderContext& renderer): m_renderer(renderer) {
|
GuestGpu::GuestGpu(RenderContext& renderer): m_renderer(renderer) {
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ uint32_t render_target_first_bound_slot(const CommandBuffer& buffer) {
|
|||||||
|
|
||||||
bool graphics_debug_dump_enabled() {
|
bool graphics_debug_dump_enabled() {
|
||||||
return Config::GraphicsDebugDumpEnabled() &&
|
return Config::GraphicsDebugDumpEnabled() &&
|
||||||
Config::GetPrintfDirection() != Config::OutputDirection::Silent;
|
Config::GetPrintfDirection() != Config::LogDirection::Silent;
|
||||||
}
|
}
|
||||||
|
|
||||||
void uc_print(const char* func, const HW::UserConfig& uc) {
|
void uc_print(const char* func, const HW::UserConfig& uc) {
|
||||||
|
|||||||
@@ -334,7 +334,7 @@ struct PipelineCache::ProgramCache {
|
|||||||
options.shader_hash = params.hash;
|
options.shader_hash = params.hash;
|
||||||
options.user_data = params.user_data;
|
options.user_data = params.user_data;
|
||||||
options.back_code = params.back_code;
|
options.back_code = params.back_code;
|
||||||
options.dump_ir = Config::GetShaderLogDirection() != Config::ShaderLogDirection::Silent;
|
options.dump_ir = Config::GetShaderLogDirection() != Config::LogDirection::Silent;
|
||||||
options.early_dump = options.dump_ir;
|
options.early_dump = options.dump_ir;
|
||||||
options.dump_label = label;
|
options.dump_label = label;
|
||||||
options.input_info = stage_input;
|
options.input_info = stage_input;
|
||||||
|
|||||||
@@ -1152,7 +1152,7 @@ bool FlipQueue::Flip(uint32_t micros) {
|
|||||||
Graphics::RenderDocOnGuestFlip(m_presenter.Renderer());
|
Graphics::RenderDocOnGuestFlip(m_presenter.Renderer());
|
||||||
|
|
||||||
if (Config::GraphicsDebugDumpEnabled() &&
|
if (Config::GraphicsDebugDumpEnabled() &&
|
||||||
Config::GetPrintfDirection() != Config::OutputDirection::Silent) {
|
Config::GetPrintfDirection() != Config::LogDirection::Silent) {
|
||||||
LOGF("Flip done: %d\n", r.index);
|
LOGF("Flip done: %d\n", r.index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,13 +229,9 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="label_profiler_direction">
|
<widget class="QCheckBox" name="checkBox_profiler">
|
||||||
<property name="text"><string>Profiler:</string></property>
|
<property name="toolTip"><string>Enable the Tracy profiler. Profiling may decrease emulator performance</string></property>
|
||||||
</widget>
|
<property name="text"><string>Tracy profiler</string></property>
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBox_profiler_direction">
|
|
||||||
<property name="toolTip"><string>Enable or disable profiler. If enabled may decrease emulator performance</string></property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2">
|
<item row="4" column="2">
|
||||||
|
|||||||
@@ -66,12 +66,6 @@ public:
|
|||||||
enum class PresentMode { Fifo, Mailbox, Immediate };
|
enum class PresentMode { Fifo, Mailbox, Immediate };
|
||||||
Q_ENUM(PresentMode)
|
Q_ENUM(PresentMode)
|
||||||
|
|
||||||
enum class ShaderLogDirection { Silent, Console, File };
|
|
||||||
Q_ENUM(ShaderLogDirection)
|
|
||||||
|
|
||||||
enum class ProfilerDirection { None, Network };
|
|
||||||
Q_ENUM(ProfilerDirection)
|
|
||||||
|
|
||||||
enum class LogDirection { Silent, Console, File };
|
enum class LogDirection { Silent, Console, File };
|
||||||
Q_ENUM(LogDirection)
|
Q_ENUM(LogDirection)
|
||||||
|
|
||||||
@@ -93,7 +87,7 @@ public:
|
|||||||
Resolution screen_resolution = Resolution::R1280X720;
|
Resolution screen_resolution = Resolution::R1280X720;
|
||||||
QString user_name = "Kyty";
|
QString user_name = "Kyty";
|
||||||
int user_id = Config::DEFAULT_USER_ID;
|
int user_id = Config::DEFAULT_USER_ID;
|
||||||
PresentMode present_mode = PresentMode::Fifo;
|
PresentMode present_mode = PresentMode::Mailbox;
|
||||||
int gpu_index = -1;
|
int gpu_index = -1;
|
||||||
bool fullscreen_enabled = false;
|
bool fullscreen_enabled = false;
|
||||||
bool readback_linear_images = false;
|
bool readback_linear_images = false;
|
||||||
@@ -102,13 +96,13 @@ public:
|
|||||||
bool vulkan_validation_enabled = false;
|
bool vulkan_validation_enabled = false;
|
||||||
bool shader_validation_enabled = true;
|
bool shader_validation_enabled = true;
|
||||||
ShaderOptimizationType shader_optimization_type = ShaderOptimizationType::Performance;
|
ShaderOptimizationType shader_optimization_type = ShaderOptimizationType::Performance;
|
||||||
ShaderLogDirection shader_log_direction = ShaderLogDirection::Silent;
|
LogDirection shader_log_direction = LogDirection::Silent;
|
||||||
QString shader_log_folder = "_Shaders";
|
QString shader_log_folder = "_Shaders";
|
||||||
bool command_buffer_dump_enabled = false;
|
bool command_buffer_dump_enabled = false;
|
||||||
QString command_buffer_dump_folder = "_Buffers";
|
QString command_buffer_dump_folder = "_Buffers";
|
||||||
LogDirection printf_direction = LogDirection::Silent;
|
LogDirection printf_direction = LogDirection::Silent;
|
||||||
QString printf_output_file = "_kyty.txt";
|
QString printf_output_file = "_kyty.txt";
|
||||||
ProfilerDirection profiler_direction = ProfilerDirection::None;
|
bool profiler_enabled = false;
|
||||||
bool renderdoc_enabled = false;
|
bool renderdoc_enabled = false;
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
bool red_zone_protection_enabled = false;
|
bool red_zone_protection_enabled = false;
|
||||||
@@ -136,7 +130,7 @@ public:
|
|||||||
command_buffer_dump_folder = other.command_buffer_dump_folder;
|
command_buffer_dump_folder = other.command_buffer_dump_folder;
|
||||||
printf_direction = other.printf_direction;
|
printf_direction = other.printf_direction;
|
||||||
printf_output_file = other.printf_output_file;
|
printf_output_file = other.printf_output_file;
|
||||||
profiler_direction = other.profiler_direction;
|
profiler_enabled = other.profiler_enabled;
|
||||||
renderdoc_enabled = other.renderdoc_enabled;
|
renderdoc_enabled = other.renderdoc_enabled;
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
red_zone_protection_enabled = other.red_zone_protection_enabled;
|
red_zone_protection_enabled = other.red_zone_protection_enabled;
|
||||||
@@ -181,7 +175,7 @@ public:
|
|||||||
KYTY_CFG_SET(command_buffer_dump_folder);
|
KYTY_CFG_SET(command_buffer_dump_folder);
|
||||||
KYTY_CFG_SET(printf_direction);
|
KYTY_CFG_SET(printf_direction);
|
||||||
KYTY_CFG_SET(printf_output_file);
|
KYTY_CFG_SET(printf_output_file);
|
||||||
KYTY_CFG_SET(profiler_direction);
|
KYTY_CFG_SET(profiler_enabled);
|
||||||
KYTY_CFG_SET(renderdoc_enabled);
|
KYTY_CFG_SET(renderdoc_enabled);
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
KYTY_CFG_SET(red_zone_protection_enabled);
|
KYTY_CFG_SET(red_zone_protection_enabled);
|
||||||
@@ -205,7 +199,7 @@ public:
|
|||||||
KYTY_CFG_GET(present_mode);
|
KYTY_CFG_GET(present_mode);
|
||||||
gpu_index = s->value("gpu_index", -1).toInt();
|
gpu_index = s->value("gpu_index", -1).toInt();
|
||||||
if (EnumToText(present_mode).isEmpty()) {
|
if (EnumToText(present_mode).isEmpty()) {
|
||||||
present_mode = PresentMode::Fifo;
|
present_mode = PresentMode::Mailbox;
|
||||||
}
|
}
|
||||||
KYTY_CFG_GET(fullscreen_enabled);
|
KYTY_CFG_GET(fullscreen_enabled);
|
||||||
KYTY_CFG_GET(readback_linear_images);
|
KYTY_CFG_GET(readback_linear_images);
|
||||||
@@ -223,7 +217,7 @@ public:
|
|||||||
KYTY_CFG_GET(command_buffer_dump_folder);
|
KYTY_CFG_GET(command_buffer_dump_folder);
|
||||||
KYTY_CFG_GET(printf_direction);
|
KYTY_CFG_GET(printf_direction);
|
||||||
KYTY_CFG_GET(printf_output_file);
|
KYTY_CFG_GET(printf_output_file);
|
||||||
KYTY_CFG_GET(profiler_direction);
|
KYTY_CFG_GET(profiler_enabled);
|
||||||
KYTY_CFG_GET(renderdoc_enabled);
|
KYTY_CFG_GET(renderdoc_enabled);
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
red_zone_protection_enabled =
|
red_zone_protection_enabled =
|
||||||
|
|||||||
@@ -110,9 +110,9 @@ ConfigurationEditDialog::ConfigurationEditDialog(Configuration& info, QWidget* p
|
|||||||
connect(m_ui->clear_button, &QPushButton::clicked, this, &ConfigurationEditDialog::clear);
|
connect(m_ui->clear_button, &QPushButton::clicked, this, &ConfigurationEditDialog::clear);
|
||||||
connect(m_ui->comboBox_shader_log_direction, &QComboBox::currentTextChanged, this,
|
connect(m_ui->comboBox_shader_log_direction, &QComboBox::currentTextChanged, this,
|
||||||
[this](const QString& text) {
|
[this](const QString& text) {
|
||||||
auto log = TextToEnum<Configuration::ShaderLogDirection>(text);
|
auto log = TextToEnum<Configuration::LogDirection>(text);
|
||||||
m_ui->lineEdit_shader_log_folder->setEnabled(
|
m_ui->lineEdit_shader_log_folder->setEnabled(
|
||||||
log == Configuration::ShaderLogDirection::File);
|
log == Configuration::LogDirection::File);
|
||||||
});
|
});
|
||||||
connect(m_ui->checkBox_cmd_dump, &QCheckBox::toggled, this,
|
connect(m_ui->checkBox_cmd_dump, &QCheckBox::toggled, this,
|
||||||
[this](bool flag) { m_ui->lineEdit_cmd_dump_folder->setEnabled(flag); });
|
[this](bool flag) { m_ui->lineEdit_cmd_dump_folder->setEnabled(flag); });
|
||||||
@@ -222,7 +222,7 @@ void ConfigurationEditDialog::Init(const Configuration& info) {
|
|||||||
ListInit(m_ui->comboBox_shader_log_direction, info.shader_log_direction);
|
ListInit(m_ui->comboBox_shader_log_direction, info.shader_log_direction);
|
||||||
m_ui->lineEdit_shader_log_folder->setText(info.shader_log_folder);
|
m_ui->lineEdit_shader_log_folder->setText(info.shader_log_folder);
|
||||||
m_ui->lineEdit_shader_log_folder->setEnabled(info.shader_log_direction ==
|
m_ui->lineEdit_shader_log_folder->setEnabled(info.shader_log_direction ==
|
||||||
Configuration::ShaderLogDirection::File);
|
Configuration::LogDirection::File);
|
||||||
m_ui->checkBox_cmd_dump->setChecked(info.command_buffer_dump_enabled);
|
m_ui->checkBox_cmd_dump->setChecked(info.command_buffer_dump_enabled);
|
||||||
m_ui->lineEdit_cmd_dump_folder->setText(info.command_buffer_dump_folder);
|
m_ui->lineEdit_cmd_dump_folder->setText(info.command_buffer_dump_folder);
|
||||||
m_ui->lineEdit_cmd_dump_folder->setEnabled(info.command_buffer_dump_enabled);
|
m_ui->lineEdit_cmd_dump_folder->setEnabled(info.command_buffer_dump_enabled);
|
||||||
@@ -230,7 +230,7 @@ void ConfigurationEditDialog::Init(const Configuration& info) {
|
|||||||
m_ui->lineEdit_printf_file->setText(info.printf_output_file);
|
m_ui->lineEdit_printf_file->setText(info.printf_output_file);
|
||||||
m_ui->lineEdit_printf_file->setEnabled(info.printf_direction ==
|
m_ui->lineEdit_printf_file->setEnabled(info.printf_direction ==
|
||||||
Configuration::LogDirection::File);
|
Configuration::LogDirection::File);
|
||||||
ListInit(m_ui->comboBox_profiler_direction, info.profiler_direction);
|
m_ui->checkBox_profiler->setChecked(info.profiler_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigurationEditDialog::InitGameDirectories() {
|
void ConfigurationEditDialog::InitGameDirectories() {
|
||||||
@@ -357,7 +357,7 @@ static void UpdateInfo(Configuration& info, Ui::ConfigurationEditDialog& ui) {
|
|||||||
#endif
|
#endif
|
||||||
info.shader_optimization_type = TextToEnum<Configuration::ShaderOptimizationType>(
|
info.shader_optimization_type = TextToEnum<Configuration::ShaderOptimizationType>(
|
||||||
ui.comboBox_shader_optimization_type->currentText());
|
ui.comboBox_shader_optimization_type->currentText());
|
||||||
info.shader_log_direction = TextToEnum<Configuration::ShaderLogDirection>(
|
info.shader_log_direction = TextToEnum<Configuration::LogDirection>(
|
||||||
ui.comboBox_shader_log_direction->currentText());
|
ui.comboBox_shader_log_direction->currentText());
|
||||||
info.shader_log_folder = ui.lineEdit_shader_log_folder->text();
|
info.shader_log_folder = ui.lineEdit_shader_log_folder->text();
|
||||||
info.command_buffer_dump_enabled = ui.checkBox_cmd_dump->isChecked();
|
info.command_buffer_dump_enabled = ui.checkBox_cmd_dump->isChecked();
|
||||||
@@ -365,8 +365,7 @@ static void UpdateInfo(Configuration& info, Ui::ConfigurationEditDialog& ui) {
|
|||||||
info.printf_direction =
|
info.printf_direction =
|
||||||
TextToEnum<Configuration::LogDirection>(ui.comboBox_printf_direction->currentText());
|
TextToEnum<Configuration::LogDirection>(ui.comboBox_printf_direction->currentText());
|
||||||
info.printf_output_file = ui.lineEdit_printf_file->text();
|
info.printf_output_file = ui.lineEdit_printf_file->text();
|
||||||
info.profiler_direction =
|
info.profiler_enabled = ui.checkBox_profiler->isChecked();
|
||||||
TextToEnum<Configuration::ProfilerDirection>(ui.comboBox_profiler_direction->currentText());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigurationEditDialog::update_info() {
|
void ConfigurationEditDialog::update_info() {
|
||||||
|
|||||||
@@ -247,7 +247,9 @@ static QStringList CreateEmulatorArgs(const Configuration& info) {
|
|||||||
args << "--command-buffer-dump-folder" << info.command_buffer_dump_folder;
|
args << "--command-buffer-dump-folder" << info.command_buffer_dump_folder;
|
||||||
args << "--printf-direction" << EnumToText(info.printf_direction);
|
args << "--printf-direction" << EnumToText(info.printf_direction);
|
||||||
args << "--printf-output-file" << info.printf_output_file;
|
args << "--printf-output-file" << info.printf_output_file;
|
||||||
args << "--profiler-direction" << EnumToText(info.profiler_direction);
|
if (info.profiler_enabled) {
|
||||||
|
args << "--profile";
|
||||||
|
}
|
||||||
args << "--spirv-debug-printf" << "false";
|
args << "--spirv-debug-printf" << "false";
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
if (info.red_zone_protection_enabled) {
|
if (info.red_zone_protection_enabled) {
|
||||||
|
|||||||
+1
-1
@@ -241,7 +241,7 @@ struct CommandBuffer {
|
|||||||
|
|
||||||
void DbgDump() const {
|
void DbgDump() const {
|
||||||
if (!Config::GraphicsDebugDumpEnabled() ||
|
if (!Config::GraphicsDebugDumpEnabled() ||
|
||||||
Config::GetPrintfDirection() == Config::OutputDirection::Silent) {
|
Config::GetPrintfDirection() == Config::LogDirection::Silent) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
static std::atomic<uint32_t> log_count {0};
|
static std::atomic<uint32_t> log_count {0};
|
||||||
|
|||||||
+7
-7
@@ -50,7 +50,7 @@ static void PrintUsage() {
|
|||||||
::printf(" --user-id <num> Local user ID. Default: %d.\n",
|
::printf(" --user-id <num> Local user ID. Default: %d.\n",
|
||||||
Config::DEFAULT_USER_ID);
|
Config::DEFAULT_USER_ID);
|
||||||
::printf(
|
::printf(
|
||||||
" --present-mode <value> Fifo, Mailbox, or Immediate. Default: Fifo.\n");
|
" --present-mode <value> Fifo, Mailbox, or Immediate. Default: Mailbox.\n");
|
||||||
::printf(
|
::printf(
|
||||||
" --gpu <index> Vulkan physical device index. Default: auto.\n");
|
" --gpu <index> Vulkan physical device index. Default: auto.\n");
|
||||||
::printf(" --fullscreen Run in borderless desktop fullscreen.\n");
|
::printf(" --fullscreen Run in borderless desktop fullscreen.\n");
|
||||||
@@ -68,7 +68,7 @@ static void PrintUsage() {
|
|||||||
::printf(" --graphics-debug-dump <true|false> Enable graphics debug dumps.\n");
|
::printf(" --graphics-debug-dump <true|false> Enable graphics debug dumps.\n");
|
||||||
::printf(" --printf-direction <value> Silent, Console, or File.\n");
|
::printf(" --printf-direction <value> Silent, Console, or File.\n");
|
||||||
::printf(" --printf-output-file <path> Guest printf output file.\n");
|
::printf(" --printf-output-file <path> Guest printf output file.\n");
|
||||||
::printf(" --profiler-direction <value> None or Network.\n");
|
::printf(" --profile Enable the Tracy profiler.\n");
|
||||||
::printf(" --spirv-debug-printf <true|false> Enable SPIR-V debug printf.\n");
|
::printf(" --spirv-debug-printf <true|false> Enable SPIR-V debug printf.\n");
|
||||||
::printf(
|
::printf(
|
||||||
" --readback-linear-images <true|false> Read back writable linear images on submit.\n");
|
" --readback-linear-images <true|false> Read back writable linear images on submit.\n");
|
||||||
@@ -166,6 +166,11 @@ static bool ParseArgs(int argc, char* argv[], RunOptions& options, bool& show_he
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (arg == "--profile") {
|
||||||
|
options.config.profiler_enabled = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
#if KYTY_PLATFORM == KYTY_PLATFORM_WINDOWS
|
#if KYTY_PLATFORM == KYTY_PLATFORM_WINDOWS
|
||||||
if (arg == "--redzone") {
|
if (arg == "--redzone") {
|
||||||
options.config.red_zone_protection_enabled = true;
|
options.config.red_zone_protection_enabled = true;
|
||||||
@@ -292,11 +297,6 @@ static bool ParseArgs(int argc, char* argv[], RunOptions& options, bool& show_he
|
|||||||
}
|
}
|
||||||
} else if (arg == "--printf-output-file") {
|
} else if (arg == "--printf-output-file") {
|
||||||
options.config.printf_output_file = value;
|
options.config.printf_output_file = value;
|
||||||
} else if (arg == "--profiler-direction") {
|
|
||||||
if (!ParseEnum(value, options.config.profiler_direction)) {
|
|
||||||
::printf("invalid profiler direction: %s\n", value.c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else if (arg == "--spirv-debug-printf") {
|
} else if (arg == "--spirv-debug-printf") {
|
||||||
if (!ParseBool(value, options.config.spirv_debug_printf_enabled)) {
|
if (!ParseBool(value, options.config.spirv_debug_printf_enabled)) {
|
||||||
::printf("invalid boolean for %s: %s\n", arg.c_str(), value.c_str());
|
::printf("invalid boolean for %s: %s\n", arg.c_str(), value.c_str());
|
||||||
|
|||||||
@@ -371,7 +371,7 @@ int main() {
|
|||||||
Common::Subsystems subsystems;
|
Common::Subsystems subsystems;
|
||||||
subsystems.Initialize<Config::Lifecycle>();
|
subsystems.Initialize<Config::Lifecycle>();
|
||||||
Config::ConfigOptions options;
|
Config::ConfigOptions options;
|
||||||
options.printf_direction = Config::OutputDirection::Silent;
|
options.printf_direction = Config::LogDirection::Silent;
|
||||||
Config::Load(options);
|
Config::Load(options);
|
||||||
subsystems.Initialize<Log::Lifecycle>();
|
subsystems.Initialize<Log::Lifecycle>();
|
||||||
|
|
||||||
|
|||||||
@@ -926,7 +926,7 @@ void EnsureConfigInitialized() {
|
|||||||
Common::InitializeThreads();
|
Common::InitializeThreads();
|
||||||
subsystems.Initialize<Config::Lifecycle>();
|
subsystems.Initialize<Config::Lifecycle>();
|
||||||
Config::ConfigOptions options;
|
Config::ConfigOptions options;
|
||||||
options.printf_direction = Config::OutputDirection::Silent;
|
options.printf_direction = Config::LogDirection::Silent;
|
||||||
Config::Load(options);
|
Config::Load(options);
|
||||||
subsystems.Initialize<Log::Lifecycle>();
|
subsystems.Initialize<Log::Lifecycle>();
|
||||||
subsystems.Initialize<Libs::LibKernel::Memory::Lifecycle>();
|
subsystems.Initialize<Libs::LibKernel::Memory::Lifecycle>();
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ void InitSubsystems() {
|
|||||||
subsystems.Initialize<Config::Lifecycle>();
|
subsystems.Initialize<Config::Lifecycle>();
|
||||||
|
|
||||||
Config::ConfigOptions options;
|
Config::ConfigOptions options;
|
||||||
options.printf_direction = Config::OutputDirection::Silent;
|
options.printf_direction = Config::LogDirection::Silent;
|
||||||
Config::Load(options);
|
Config::Load(options);
|
||||||
|
|
||||||
subsystems.Initialize<Log::Lifecycle>();
|
subsystems.Initialize<Log::Lifecycle>();
|
||||||
|
|||||||
@@ -1021,7 +1021,7 @@ void EnsureConfigInitialized() {
|
|||||||
Common::InitializeThreads();
|
Common::InitializeThreads();
|
||||||
subsystems.Initialize<Config::Lifecycle>();
|
subsystems.Initialize<Config::Lifecycle>();
|
||||||
Config::ConfigOptions options;
|
Config::ConfigOptions options;
|
||||||
options.printf_direction = Config::OutputDirection::Silent;
|
options.printf_direction = Config::LogDirection::Silent;
|
||||||
Config::Load(options);
|
Config::Load(options);
|
||||||
subsystems.Initialize<Log::Lifecycle>();
|
subsystems.Initialize<Log::Lifecycle>();
|
||||||
ShaderInit();
|
ShaderInit();
|
||||||
|
|||||||
Reference in New Issue
Block a user