mirror of
https://github.com/cemu-project/Cemu.git
synced 2024-11-26 02:54:17 +01:00
Logging: Add TextureReadback logtype and clean up code
This commit is contained in:
parent
9bbfd33842
commit
387b712959
@ -224,7 +224,6 @@ void LatteCP_itIndirectBufferDepr(uint32 nWords)
|
|||||||
uint32 physicalAddressHigh = readU32(); // unused
|
uint32 physicalAddressHigh = readU32(); // unused
|
||||||
uint32 sizeInDWords = readU32();
|
uint32 sizeInDWords = readU32();
|
||||||
uint32 displayListSize = sizeInDWords * 4;
|
uint32 displayListSize = sizeInDWords * 4;
|
||||||
cemu_assert_debug(displayListSize >= 4);
|
|
||||||
DrawPassContext drawPassCtx;
|
DrawPassContext drawPassCtx;
|
||||||
LatteCP_processCommandBuffer(memory_getPointerFromPhysicalOffset(physicalAddress), displayListSize, drawPassCtx);
|
LatteCP_processCommandBuffer(memory_getPointerFromPhysicalOffset(physicalAddress), displayListSize, drawPassCtx);
|
||||||
if (drawPassCtx.isWithinDrawPass())
|
if (drawPassCtx.isWithinDrawPass())
|
||||||
|
@ -746,6 +746,8 @@ void LatteTextureLoader_writeReadbackTextureToMemory(LatteTextureDefinition* tex
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cemuLog_log(LogType::TextureReadback, "[WriteReadbackTex] PhysAddr {:08x} Res {}x{} Fmt {} Slice {} Mip {}", textureData->physAddress, textureData->width, textureData->height, textureData->format, sliceIndex, mipIndex);
|
||||||
|
|
||||||
if (textureData->tileMode == Latte::E_HWTILEMODE::TM_LINEAR_ALIGNED)
|
if (textureData->tileMode == Latte::E_HWTILEMODE::TM_LINEAR_ALIGNED)
|
||||||
{
|
{
|
||||||
uint32 pitch = textureLoader.width;
|
uint32 pitch = textureLoader.width;
|
||||||
|
@ -283,7 +283,7 @@ namespace iosu
|
|||||||
return -0x400;
|
return -0x400;
|
||||||
}
|
}
|
||||||
*fileHandle = fsFileHandle;
|
*fileHandle = fsFileHandle;
|
||||||
cemuLog_log(LogType::File, "Open file {} (access: {} result: ok handle: 0x{})", path, accessModifierStr, (uint32)*fileHandle);
|
cemuLog_log(LogType::CoreinitFile, "Open file {} (access: {} result: ok handle: 0x{})", path, accessModifierStr, (uint32)*fileHandle);
|
||||||
return (FSStatus)FS_RESULT::SUCCESS;
|
return (FSStatus)FS_RESULT::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,7 +307,7 @@ namespace iosu
|
|||||||
return -0x400;
|
return -0x400;
|
||||||
}
|
}
|
||||||
*dirHandle = fsDirHandle;
|
*dirHandle = fsDirHandle;
|
||||||
cemuLog_log(LogType::File, "Open directory {} (result: ok handle: 0x{})", path, (uint32)*dirHandle);
|
cemuLog_log(LogType::CoreinitFile, "Open directory {} (result: ok handle: 0x{})", path, (uint32)*dirHandle);
|
||||||
return (FSStatus)FS_RESULT::SUCCESS;
|
return (FSStatus)FS_RESULT::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1564,96 +1564,96 @@ namespace coreinit
|
|||||||
|
|
||||||
void InitializeFS()
|
void InitializeFS()
|
||||||
{
|
{
|
||||||
cafeExportRegister("coreinit", FSInit, LogType::File);
|
cafeExportRegister("coreinit", FSInit, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSShutdown, LogType::File);
|
cafeExportRegister("coreinit", FSShutdown, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSGetMountSource, LogType::File);
|
cafeExportRegister("coreinit", FSGetMountSource, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetMountSourceNext, LogType::File);
|
cafeExportRegister("coreinit", FSGetMountSourceNext, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSMount, LogType::File);
|
cafeExportRegister("coreinit", FSMount, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSBindMount, LogType::File);
|
cafeExportRegister("coreinit", FSBindMount, LogType::CoreinitFile);
|
||||||
|
|
||||||
// client management
|
// client management
|
||||||
cafeExportRegister("coreinit", FSAddClientEx, LogType::File);
|
cafeExportRegister("coreinit", FSAddClientEx, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSAddClient, LogType::File);
|
cafeExportRegister("coreinit", FSAddClient, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSDelClient, LogType::File);
|
cafeExportRegister("coreinit", FSDelClient, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetClientNum, LogType::File);
|
cafeExportRegister("coreinit", FSGetClientNum, LogType::CoreinitFile);
|
||||||
|
|
||||||
// cmd
|
// cmd
|
||||||
cafeExportRegister("coreinit", FSInitCmdBlock, LogType::File);
|
cafeExportRegister("coreinit", FSInitCmdBlock, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetAsyncResult, LogType::File);
|
cafeExportRegister("coreinit", FSGetAsyncResult, LogType::CoreinitFile);
|
||||||
|
|
||||||
// file operations
|
// file operations
|
||||||
cafeExportRegister("coreinit", FSOpenFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSOpenFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSOpenFile, LogType::File);
|
cafeExportRegister("coreinit", FSOpenFile, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSOpenFileExAsync, LogType::File);
|
cafeExportRegister("coreinit", FSOpenFileExAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSOpenFileEx, LogType::File);
|
cafeExportRegister("coreinit", FSOpenFileEx, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSCloseFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSCloseFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSCloseFile, LogType::File);
|
cafeExportRegister("coreinit", FSCloseFile, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSReadFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSReadFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSReadFile, LogType::File);
|
cafeExportRegister("coreinit", FSReadFile, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSReadFileWithPosAsync, LogType::File);
|
cafeExportRegister("coreinit", FSReadFileWithPosAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSReadFileWithPos, LogType::File);
|
cafeExportRegister("coreinit", FSReadFileWithPos, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSWriteFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSWriteFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSWriteFile, LogType::File);
|
cafeExportRegister("coreinit", FSWriteFile, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSWriteFileWithPosAsync, LogType::File);
|
cafeExportRegister("coreinit", FSWriteFileWithPosAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSWriteFileWithPos, LogType::File);
|
cafeExportRegister("coreinit", FSWriteFileWithPos, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSSetPosFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSSetPosFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSSetPosFile, LogType::File);
|
cafeExportRegister("coreinit", FSSetPosFile, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetPosFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSGetPosFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetPosFile, LogType::File);
|
cafeExportRegister("coreinit", FSGetPosFile, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSAppendFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSAppendFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSAppendFile, LogType::File);
|
cafeExportRegister("coreinit", FSAppendFile, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSTruncateFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSTruncateFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSTruncateFile, LogType::File);
|
cafeExportRegister("coreinit", FSTruncateFile, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSRenameAsync, LogType::File);
|
cafeExportRegister("coreinit", FSRenameAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSRename, LogType::File);
|
cafeExportRegister("coreinit", FSRename, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSRemoveAsync, LogType::File);
|
cafeExportRegister("coreinit", FSRemoveAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSRemove, LogType::File);
|
cafeExportRegister("coreinit", FSRemove, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSMakeDirAsync, LogType::File);
|
cafeExportRegister("coreinit", FSMakeDirAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSMakeDir, LogType::File);
|
cafeExportRegister("coreinit", FSMakeDir, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSChangeDirAsync, LogType::File);
|
cafeExportRegister("coreinit", FSChangeDirAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSChangeDir, LogType::File);
|
cafeExportRegister("coreinit", FSChangeDir, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetCwdAsync, LogType::File);
|
cafeExportRegister("coreinit", FSGetCwdAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetCwd, LogType::File);
|
cafeExportRegister("coreinit", FSGetCwd, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSIsEofAsync, LogType::File);
|
cafeExportRegister("coreinit", FSIsEofAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSIsEof, LogType::File);
|
cafeExportRegister("coreinit", FSIsEof, LogType::CoreinitFile);
|
||||||
|
|
||||||
// directory operations
|
// directory operations
|
||||||
cafeExportRegister("coreinit", FSOpenDirAsync, LogType::File);
|
cafeExportRegister("coreinit", FSOpenDirAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSOpenDir, LogType::File);
|
cafeExportRegister("coreinit", FSOpenDir, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSReadDirAsync, LogType::File);
|
cafeExportRegister("coreinit", FSReadDirAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSReadDir, LogType::File);
|
cafeExportRegister("coreinit", FSReadDir, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSCloseDirAsync, LogType::File);
|
cafeExportRegister("coreinit", FSCloseDirAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSCloseDir, LogType::File);
|
cafeExportRegister("coreinit", FSCloseDir, LogType::CoreinitFile);
|
||||||
|
|
||||||
// stat
|
// stat
|
||||||
cafeExportRegister("coreinit", FSGetFreeSpaceSizeAsync, LogType::File);
|
cafeExportRegister("coreinit", FSGetFreeSpaceSizeAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetFreeSpaceSize, LogType::File);
|
cafeExportRegister("coreinit", FSGetFreeSpaceSize, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSGetStatAsync, LogType::File);
|
cafeExportRegister("coreinit", FSGetStatAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetStat, LogType::File);
|
cafeExportRegister("coreinit", FSGetStat, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSGetStatFileAsync, LogType::File);
|
cafeExportRegister("coreinit", FSGetStatFileAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetStatFile, LogType::File);
|
cafeExportRegister("coreinit", FSGetStatFile, LogType::CoreinitFile);
|
||||||
|
|
||||||
// misc
|
// misc
|
||||||
cafeExportRegister("coreinit", FSFlushQuotaAsync, LogType::File);
|
cafeExportRegister("coreinit", FSFlushQuotaAsync, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSFlushQuota, LogType::File);
|
cafeExportRegister("coreinit", FSFlushQuota, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSSetUserData, LogType::File);
|
cafeExportRegister("coreinit", FSSetUserData, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetUserData, LogType::File);
|
cafeExportRegister("coreinit", FSGetUserData, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSGetCurrentCmdBlock, LogType::File);
|
cafeExportRegister("coreinit", FSGetCurrentCmdBlock, LogType::CoreinitFile);
|
||||||
|
|
||||||
cafeExportRegister("coreinit", FSGetVolumeState, LogType::File);
|
cafeExportRegister("coreinit", FSGetVolumeState, LogType::CoreinitFile);
|
||||||
cafeExportRegister("coreinit", FSGetErrorCodeForViewer, LogType::Placeholder);
|
cafeExportRegister("coreinit", FSGetErrorCodeForViewer, LogType::Placeholder);
|
||||||
cafeExportRegister("coreinit", FSGetLastErrorCodeForViewer, LogType::Placeholder);
|
cafeExportRegister("coreinit", FSGetLastErrorCodeForViewer, LogType::Placeholder);
|
||||||
|
|
||||||
|
@ -748,8 +748,8 @@ namespace padscore
|
|||||||
|
|
||||||
void load()
|
void load()
|
||||||
{
|
{
|
||||||
cafeExportRegister("padscore", WPADIsMplsAttached, LogType::Input);
|
cafeExportRegister("padscore", WPADIsMplsAttached, LogType::InputAPI);
|
||||||
cafeExportRegister("padscore", WPADGetAccGravityUnit, LogType::Input);
|
cafeExportRegister("padscore", WPADGetAccGravityUnit, LogType::InputAPI);
|
||||||
|
|
||||||
// wpad
|
// wpad
|
||||||
//osLib_addFunction("padscore", "WPADInit", padscore::export_WPADInit);
|
//osLib_addFunction("padscore", "WPADInit", padscore::export_WPADInit);
|
||||||
|
@ -1159,9 +1159,9 @@ namespace vpad
|
|||||||
|
|
||||||
void load()
|
void load()
|
||||||
{
|
{
|
||||||
cafeExportRegister("vpad", VPADSetBtnRepeat, LogType::Input);
|
cafeExportRegister("vpad", VPADSetBtnRepeat, LogType::InputAPI);
|
||||||
cafeExportRegister("vpad", VPADSetSamplingCallback, LogType::Input);
|
cafeExportRegister("vpad", VPADSetSamplingCallback, LogType::InputAPI);
|
||||||
cafeExportRegister("vpad", VPADRead, LogType::Input);
|
cafeExportRegister("vpad", VPADRead, LogType::InputAPI);
|
||||||
|
|
||||||
osLib_addFunction("vpad", "VPADGetAccParam", vpadExport_VPADGetAccParam);
|
osLib_addFunction("vpad", "VPADGetAccParam", vpadExport_VPADGetAccParam);
|
||||||
osLib_addFunction("vpad", "VPADSetAccParam", vpadExport_VPADSetAccParam);
|
osLib_addFunction("vpad", "VPADSetAccParam", vpadExport_VPADSetAccParam);
|
||||||
|
@ -33,16 +33,16 @@ struct _LogContext
|
|||||||
|
|
||||||
const std::map<LogType, std::string> g_logging_window_mapping
|
const std::map<LogType, std::string> g_logging_window_mapping
|
||||||
{
|
{
|
||||||
{LogType::File, "Coreinit File-Access"},
|
{LogType::CoreinitFile, "Coreinit File-Access"},
|
||||||
{LogType::GX2, "GX2"},
|
{LogType::GX2, "GX2"},
|
||||||
{LogType::ThreadSync, "Coreinit Thread-Synchronization"},
|
{LogType::ThreadSync, "Coreinit Thread-Synchronization"},
|
||||||
{LogType::SoundAPI, "Audio"},
|
{LogType::SoundAPI, "Audio"},
|
||||||
{LogType::Input, "Input"},
|
{LogType::InputAPI, "Input"},
|
||||||
{LogType::Socket, "Socket"},
|
{LogType::Socket, "Socket"},
|
||||||
{LogType::Save, "Save"},
|
{LogType::Save, "Save"},
|
||||||
{LogType::CoreinitMem, "Coreinit Memory"},
|
{LogType::CoreinitMem, "Coreinit Memory"},
|
||||||
{LogType::H264, "H264"},
|
{LogType::H264, "H264"},
|
||||||
{LogType::OpenGL, "OpenGL"},
|
{LogType::OpenGLLogging, "OpenGL"},
|
||||||
{LogType::TextureCache, "Texture Cache"},
|
{LogType::TextureCache, "Texture Cache"},
|
||||||
{LogType::nn_nfp, "NFP"},
|
{LogType::nn_nfp, "NFP"},
|
||||||
};
|
};
|
||||||
|
@ -5,17 +5,17 @@ enum class LogType : sint32
|
|||||||
Placeholder = -2,
|
Placeholder = -2,
|
||||||
None = -1,
|
None = -1,
|
||||||
Force = 0, // this logging type is always on
|
Force = 0, // this logging type is always on
|
||||||
File = 1, // coreinit file?
|
CoreinitFile = 1,
|
||||||
GX2 = 2,
|
GX2 = 2,
|
||||||
UnsupportedAPI = 3,
|
UnsupportedAPI = 3,
|
||||||
ThreadSync = 4,
|
ThreadSync = 4,
|
||||||
SoundAPI = 5, // any audio related API
|
SoundAPI = 5, // any audio related API
|
||||||
Input = 6, // any input related API
|
InputAPI = 6, // any input related API
|
||||||
Socket = 7,
|
Socket = 7,
|
||||||
Save = 8,
|
Save = 8,
|
||||||
CoreinitMem = 9, // coreinit memory functions
|
CoreinitMem = 9, // coreinit memory functions
|
||||||
H264 = 10,
|
H264 = 10,
|
||||||
OpenGL = 11, // OpenGL debug logging
|
OpenGLLogging = 11, // OpenGL debug logging
|
||||||
TextureCache = 12, // texture cache warnings and info
|
TextureCache = 12, // texture cache warnings and info
|
||||||
VulkanValidation = 13, // Vulkan validation layer
|
VulkanValidation = 13, // Vulkan validation layer
|
||||||
nn_nfp = 14, // nn_nfp (Amiibo) API
|
nn_nfp = 14, // nn_nfp (Amiibo) API
|
||||||
@ -31,6 +31,8 @@ enum class LogType : sint32
|
|||||||
|
|
||||||
ProcUi = 40,
|
ProcUi = 40,
|
||||||
|
|
||||||
|
TextureReadback = 60,
|
||||||
|
|
||||||
APIErrors = 0, // alias for 0. Logs bad parameters or other API errors in OS libs
|
APIErrors = 0, // alias for 0. Logs bad parameters or other API errors in OS libs
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -516,3 +516,15 @@ inline uint32 GetTitleIdLow(uint64 titleId)
|
|||||||
#include "Cafe/HW/MMU/MMU.h"
|
#include "Cafe/HW/MMU/MMU.h"
|
||||||
#include "Cafe/HW/Espresso/PPCState.h"
|
#include "Cafe/HW/Espresso/PPCState.h"
|
||||||
#include "Cafe/HW/Espresso/PPCCallback.h"
|
#include "Cafe/HW/Espresso/PPCCallback.h"
|
||||||
|
|
||||||
|
// useful C++23 stuff that isn't yet widely supported
|
||||||
|
|
||||||
|
// std::to_underlying
|
||||||
|
namespace stdx
|
||||||
|
{
|
||||||
|
template <typename EnumT, typename = std::enable_if_t < std::is_enum<EnumT>{} >>
|
||||||
|
constexpr std::underlying_type_t<EnumT> to_underlying(EnumT e) noexcept {
|
||||||
|
return static_cast<std::underlying_type_t<EnumT>>(e);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -2113,26 +2113,27 @@ void MainWindow::RecreateMenu()
|
|||||||
// debug->logging submenu
|
// debug->logging submenu
|
||||||
wxMenu* debugLoggingMenu = new wxMenu;
|
wxMenu* debugLoggingMenu = new wxMenu;
|
||||||
|
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_UNSUPPORTED_API, _("&Unsupported API calls"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_UNSUPPORTED_API));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::UnsupportedAPI), _("&Unsupported API calls"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::UnsupportedAPI));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_COREINIT_LOGGING, _("&Coreinit Logging (OSReport/OSConsole)"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_COREINIT_LOGGING));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::CoreinitLogging), _("&Coreinit Logging (OSReport/OSConsole)"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::CoreinitLogging));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_FILE, _("&Coreinit File-Access"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_FILE));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::CoreinitFile), _("&Coreinit File-Access API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::CoreinitFile));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_THREADSYNC, _("&Coreinit Thread-Synchronization API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_THREADSYNC));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::ThreadSync), _("&Coreinit Thread-Synchronization API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::ThreadSync));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_COREINIT_MEM, _("&Coreinit Memory API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_COREINIT_MEM));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::CoreinitMem), _("&Coreinit Memory API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::CoreinitMem));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_COREINIT_MP, _("&Coreinit MP API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_COREINIT_MP));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::CoreinitMP), _("&Coreinit MP API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::CoreinitMP));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_COREINIT_THREAD, _("&Coreinit Thread API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_COREINIT_THREAD));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::CoreinitThread), _("&Coreinit Thread API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::CoreinitThread));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_NFP, _("&NN NFP"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_NFP));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::nn_nfp), _("&NN NFP"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::nn_nfp));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_GX2, _("&GX2 API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_GX2));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::GX2), _("&GX2 API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::GX2));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_SNDAPI, _("&Audio API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_SNDAPI));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::SoundAPI), _("&Audio API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::SoundAPI));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_INPUT, _("&Input API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_INPUT));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::InputAPI), _("&Input API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::InputAPI));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_SOCKET, _("&Socket API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_SOCKET));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::Socket), _("&Socket API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::Socket));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_SAVE, _("&Save API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_SAVE));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::Save), _("&Save API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::Save));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_H264, _("&H264 API"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_H264));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::H264), _("&H264 API"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::H264));
|
||||||
debugLoggingMenu->AppendSeparator();
|
debugLoggingMenu->AppendSeparator();
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_PATCHES, _("&Graphic pack patches"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_PATCHES));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::Patches), _("&Graphic pack patches"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::Patches));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_TEXTURE_CACHE, _("&Texture cache warnings"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_TEXTURE_CACHE));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::TextureCache), _("&Texture cache warnings"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::TextureCache));
|
||||||
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::TextureReadback), _("&Texture readback"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::TextureReadback));
|
||||||
debugLoggingMenu->AppendSeparator();
|
debugLoggingMenu->AppendSeparator();
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_OPENGL, _("&OpenGL debug output"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_OPENGL));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::OpenGLLogging), _("&OpenGL debug output"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::OpenGLLogging));
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + LOG_TYPE_VULKAN_VALIDATION, _("&Vulkan validation layer (slow)"), wxEmptyString)->Check(cafeLog_isLoggingFlagEnabled(LOG_TYPE_VULKAN_VALIDATION));
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_LOGGING0 + stdx::to_underlying(LogType::VulkanValidation), _("&Vulkan validation layer (slow)"), wxEmptyString)->Check(cemuLog_isLoggingEnabled(LogType::VulkanValidation));
|
||||||
#ifdef CEMU_DEBUG_ASSERT
|
#ifdef CEMU_DEBUG_ASSERT
|
||||||
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_ADVANCED_PPC_INFO, _("&Log PPC context for API"), wxEmptyString)->Check(cemuLog_advancedPPCLoggingEnabled());
|
debugLoggingMenu->AppendCheckItem(MAINFRAME_MENU_ID_DEBUG_ADVANCED_PPC_INFO, _("&Log PPC context for API"), wxEmptyString)->Check(cemuLog_advancedPPCLoggingEnabled());
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user