From 09673c928c59d2123dae71ebcdb1c12383eef7f4 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Sat, 22 Aug 2015 11:20:48 +0300 Subject: [PATCH] cellVideoOut accuracy improved, logging additions Now basic settings are logged in the start of every log, to help devs in determining possible problems, when users test or try to run certain games. --- rpcs3/Emu/System.cpp | 25 +++++++++++- rpcs3/Gui/SettingsDialog.cpp | 8 ++-- rpcs3/Ini.h | 74 ++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 1f35659eef..31e081a06d 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -1,6 +1,7 @@ #include "stdafx.h" #include "Utilities/Log.h" #include "Utilities/File.h" +#include "rpcs3/Ini.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" @@ -199,14 +200,34 @@ void Emulator::Load() } } - LOG_NOTICE(LOADER, " "); //used to be skip_line + LOG_NOTICE(LOADER, ""); LOG_NOTICE(LOADER, "Mount info:"); for (uint i = 0; i < GetVFS().m_devices.size(); ++i) { LOG_NOTICE(LOADER, "%s -> %s", GetVFS().m_devices[i]->GetPs3Path().c_str(), GetVFS().m_devices[i]->GetLocalPath().c_str()); } - LOG_NOTICE(LOADER, " "); //used to be skip_line + LOG_NOTICE(LOADER, ""); + + LOG_NOTICE(LOADER, "Settings:"); + LOG_NOTICE(LOADER, "CPU: %s", Ini.CPUIdToString(Ini.CPUDecoderMode.GetValue())); + LOG_NOTICE(LOADER, "SPU: %s", Ini.SPUIdToString(Ini.SPUDecoderMode.GetValue())); + LOG_NOTICE(LOADER, "Renderer: %s", Ini.RendererIdToString(Ini.GSRenderMode.GetValue())); + + if (Ini.GSRenderMode.GetValue() == 2) + { + LOG_NOTICE(LOADER, "D3D Adapter: %s", Ini.AdapterIdToString(Ini.GSD3DAdaptater.GetValue())); + } + + LOG_NOTICE(LOADER, "Resolution: %s", Ini.ResolutionIdToString(Ini.GSResolution.GetValue())); + LOG_NOTICE(LOADER, "Write Depth Buffer: %s", Ini.GSDumpDepthBuffer.GetValue() ? "Yes" : "No"); + LOG_NOTICE(LOADER, "Write Color Buffers: %s", Ini.GSDumpColorBuffers.GetValue() ? "Yes" : "No"); + LOG_NOTICE(LOADER, "Read Color Buffer: %s", Ini.GSReadColorBuffer.GetValue() ? "Yes" : "No"); + LOG_NOTICE(LOADER, "Audio Out: %s", Ini.AudioOutIdToString(Ini.AudioOutMode.GetValue())); + LOG_NOTICE(LOADER, "Log Everything: %s", Ini.HLELogging.GetValue() ? "Yes" : "No"); + LOG_NOTICE(LOADER, "RSX Logging: %s", Ini.RSXLogging.GetValue() ? "Yes" : "No"); + + LOG_NOTICE(LOADER, ""); f.Open("/app_home/../PARAM.SFO"); const PSFLoader psf(f); std::string title = psf.GetString("TITLE"); diff --git a/rpcs3/Gui/SettingsDialog.cpp b/rpcs3/Gui/SettingsDialog.cpp index 162b4c7c54..0876fb7779 100644 --- a/rpcs3/Gui/SettingsDialog.cpp +++ b/rpcs3/Gui/SettingsDialog.cpp @@ -160,10 +160,10 @@ SettingsDialog::SettingsDialog(wxWindow *parent) #endif cbox_gs_d3d_adaptater->Append("WARP"); - cbox_gs_d3d_adaptater->Append("default"); - cbox_gs_d3d_adaptater->Append("renderer 0"); - cbox_gs_d3d_adaptater->Append("renderer 1"); - cbox_gs_d3d_adaptater->Append("renderer 2"); + cbox_gs_d3d_adaptater->Append("Default"); + cbox_gs_d3d_adaptater->Append("Renderer 0"); + cbox_gs_d3d_adaptater->Append("Renderer 1"); + cbox_gs_d3d_adaptater->Append("Renderer 2"); #if !defined(DX12_SUPPORT) cbox_gs_d3d_adaptater->Enable(false); diff --git a/rpcs3/Ini.h b/rpcs3/Ini.h index 7daad0976a..f1b56aadb9 100644 --- a/rpcs3/Ini.h +++ b/rpcs3/Ini.h @@ -441,6 +441,80 @@ public: SysEmulationDirPath.Save(); SysEmulationDirPathEnable.Save(); } + + // For getting strings for certain options to display settings in the log. + inline static const char* CPUIdToString(u8 code) + { + switch (code) + { + case 0: return "PPU Interpreter"; + case 1: return "PPU Interpreter 2"; + case 2: return "PPU JIT (LLVM)"; + default: return "Unknown"; + } + } + + inline static const char* SPUIdToString(u8 code) + { + switch (code) + { + case 0: return "SPU Interpreter (precise)"; + case 1: return "SPU Interpreter (fast)"; + case 2: return "SPU Recompiler (ASMJIT)"; + default: return "Unknown"; + } + } + + inline static const char* RendererIdToString(u8 code) + { + switch (code) + { + case 0: return "Null"; + case 1: return "OpenGL"; + case 2: return "DirectX 12"; + default: return "Unknown"; + } + } + + inline static const char* AdapterIdToString(u8 code) + { + switch (code) + { + case 0: return "WARP"; + case 1: return "Default"; + case 2: return "Renderer 0"; + case 3: return "Renderer 1"; + case 4: return "Renderer 2"; + default: return "Unknown"; + } + } + + inline static const char* AudioOutIdToString(u8 code) + { + switch (code) + { + case 0: return "Null"; + case 1: return "OpenAL"; + case 2: return "XAudio2"; + default: return "Unknown"; + } + } + + inline static const char* ResolutionIdToString(u32 id) + { + switch (id) + { + case 1: return "1920x1080"; + case 2: return "1280x720"; + case 4: return "720x480"; + case 5: return "720x576"; + case 10: return "1600x1080"; + case 11: return "1440x1080"; + case 12: return "1280x1080"; + case 13: return "960x1080"; + default: return "Unknown"; + } + } }; extern Inis Ini;