From 63dd3917e2f719d2366d6d727e50faadd41bb583 Mon Sep 17 00:00:00 2001 From: nmzik Date: Tue, 1 Sep 2026 10:24:48 +0400 Subject: [PATCH] reduce runtime logging --- src/graphics/host_gpu/renderer/debug.cpp | 2 +- src/graphics/shader/shader.cpp | 5 +- src/libs/agc.cpp | 83 ++++++++++++++---------- src/libs/audio.cpp | 6 -- 4 files changed, 52 insertions(+), 44 deletions(-) diff --git a/src/graphics/host_gpu/renderer/debug.cpp b/src/graphics/host_gpu/renderer/debug.cpp index 3c907d232..98b5fad7e 100644 --- a/src/graphics/host_gpu/renderer/debug.cpp +++ b/src/graphics/host_gpu/renderer/debug.cpp @@ -1079,7 +1079,7 @@ void hw_check(const CommandBuffer& buffer) { AaCheck(aa, ac); log_phase("done"); - if (RenderTargetMaskHasBoundMrt(buffer)) { + if (graphics_debug_dump_enabled() && RenderTargetMaskHasBoundMrt(buffer)) { LOGF("MRT render target mask: 0x%08" PRIx32 "\n", hw.GetRenderTargetMask()); for (uint32_t i = 0; i < 8; i++) { const auto& mrt = hw.GetRenderTarget(i); diff --git a/src/graphics/shader/shader.cpp b/src/graphics/shader/shader.cpp index 0c5c89ec9..106e3f147 100644 --- a/src/graphics/shader/shader.cpp +++ b/src/graphics/shader/shader.cpp @@ -571,7 +571,10 @@ static void ShaderApplyAttribSemantics(ShaderVertexInputInfo& info, uint32_t reg = in.hardware_mapping; uint32_t size = in.size_in_elements; - LOGF("reg = %u, size = %u, va[%u] = 0x%08" PRIx32 "\n", reg, size, i, attrib[in.semantic]); + if (Config::GraphicsDebugDumpEnabled()) { + LOGF("reg = %u, size = %u, va[%u] = 0x%08" PRIx32 "\n", reg, size, i, + attrib[in.semantic]); + } size_t index = attrib[in.semantic] & 0x1fu; auto format = diff --git a/src/libs/agc.cpp b/src/libs/agc.cpp index af09e8210..3e4d33473 100644 --- a/src/libs/agc.cpp +++ b/src/libs/agc.cpp @@ -44,6 +44,13 @@ namespace Libs::Graphics { static RenderContext* g_renderer = nullptr; +template +static void AgcTrace(const char* format, const Args&... args) { + if (Config::GraphicsDebugDumpEnabled()) { + LOGF(format, args...); + } +} + void Initialize() { // Some games lock up if this is not called first if (Config::RenderDocEnabled()) { @@ -363,6 +370,10 @@ void* KYTY_SYSV_ABI AgcGetRegisterDefaults2Internal(uint32_t ver) { } static void dbg_dump_shader(const Shader* h) { + if (!Config::GraphicsDebugDumpEnabled()) { + return; + } + LOGF("\t file_header = 0x%08" PRIx32 "\n" "\t version = 0x%08" PRIx32 "\n" "\t user_data = 0x%016" PRIx64 "\n", @@ -952,7 +963,7 @@ int KYTY_SYSV_ABI AgcSetCxRegIndirectPatchSetAddress(uint32_t* const volatile ShaderRegister* regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t regs = 0x%016" PRIx64 "\n", reinterpret_cast(cmd), reinterpret_cast(regs)); @@ -968,7 +979,7 @@ int KYTY_SYSV_ABI AgcSetShRegIndirectPatchSetAddress(uint32_t* const volatile ShaderRegister* regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t regs = 0x%016" PRIx64 "\n", reinterpret_cast(cmd), reinterpret_cast(regs)); @@ -984,7 +995,7 @@ int KYTY_SYSV_ABI AgcSetUcRegIndirectPatchSetAddress(uint32_t* const volatile ShaderRegister* regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t regs = 0x%016" PRIx64 "\n", reinterpret_cast(cmd), reinterpret_cast(regs)); @@ -999,7 +1010,7 @@ int KYTY_SYSV_ABI AgcSetUcRegIndirectPatchSetAddress(uint32_t* int KYTY_SYSV_ABI AgcSetCxRegIndirectPatchSetNumRegisters(uint32_t* cmd, uint32_t num_regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(cmd), num_regs); @@ -1011,7 +1022,7 @@ int KYTY_SYSV_ABI AgcSetCxRegIndirectPatchSetNumRegisters(uint32_t* cmd, uint32_ int KYTY_SYSV_ABI AgcSetShRegIndirectPatchSetNumRegisters(uint32_t* cmd, uint32_t num_regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(cmd), num_regs); @@ -1023,7 +1034,7 @@ int KYTY_SYSV_ABI AgcSetShRegIndirectPatchSetNumRegisters(uint32_t* cmd, uint32_ int KYTY_SYSV_ABI AgcSetUcRegIndirectPatchSetNumRegisters(uint32_t* cmd, uint32_t num_regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(cmd), num_regs); @@ -1035,7 +1046,7 @@ int KYTY_SYSV_ABI AgcSetUcRegIndirectPatchSetNumRegisters(uint32_t* cmd, uint32_ int KYTY_SYSV_ABI AgcSetCxRegIndirectPatchAddRegisters(uint32_t* cmd, uint32_t num_regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(cmd), num_regs); @@ -1047,7 +1058,7 @@ int KYTY_SYSV_ABI AgcSetCxRegIndirectPatchAddRegisters(uint32_t* cmd, uint32_t n int KYTY_SYSV_ABI AgcSetShRegIndirectPatchAddRegisters(uint32_t* cmd, uint32_t num_regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(cmd), num_regs); @@ -1059,7 +1070,7 @@ int KYTY_SYSV_ABI AgcSetShRegIndirectPatchAddRegisters(uint32_t* cmd, uint32_t n int KYTY_SYSV_ABI AgcSetUcRegIndirectPatchAddRegisters(uint32_t* cmd, uint32_t num_regs) { PRINT_NAME(); - LOGF("\t cmd = 0x%016" PRIx64 "\n" + AgcTrace("\t cmd = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(cmd), num_regs); @@ -1090,7 +1101,7 @@ int KYTY_SYSV_ABI AgcCreatePrimState(ShaderRegister* cx_regs, ShaderRegister* uc const Shader* hs, const Shader* gs, uint32_t prim_type) { PRINT_NAME(); - LOGF("\t cx_regs = 0x%016" PRIx64 "\n" + AgcTrace("\t cx_regs = 0x%016" PRIx64 "\n" "\t uc_regs = 0x%016" PRIx64 "\n" "\t hs = 0x%016" PRIx64 "\n" "\t gs = 0x%016" PRIx64 "\n" @@ -1158,7 +1169,7 @@ int KYTY_SYSV_ABI AgcUpdatePrimState(ShaderRegister* cx_regs, ShaderRegister* uc uint32_t prim_type) { PRINT_NAME(); - LOGF("\t cx_regs = 0x%016" PRIx64 "\n" + AgcTrace("\t cx_regs = 0x%016" PRIx64 "\n" "\t uc_regs = 0x%016" PRIx64 "\n" "\t prim_type = %" PRIu32 "\n", reinterpret_cast(cx_regs), reinterpret_cast(uc_regs), prim_type); @@ -1363,7 +1374,7 @@ int KYTY_SYSV_ABI AgcCreateInterpolantMapping(ShaderRegister* regs, const Shader const Shader* ps) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t gs = 0x%016" PRIx64 "\n" "\t ps = 0x%016" PRIx64 "\n", reinterpret_cast(regs), reinterpret_cast(gs), @@ -1419,7 +1430,7 @@ int KYTY_SYSV_ABI AgcCreateInterpolantMapping2(ShaderRegister* regs, const Shade const Shader* ps) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t gs = 0x%016" PRIx64 "\n" "\t ps = 0x%016" PRIx64 "\n", reinterpret_cast(regs), reinterpret_cast(gs), @@ -1942,7 +1953,7 @@ uint32_t* KYTY_SYSV_ABI AgcCbSetShRegistersDirect(CommandBuffer* uint32_t num_regs) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(regs), num_regs); @@ -2009,7 +2020,7 @@ uint32_t* KYTY_SYSV_ABI AgcCbSetUcRegistersDirect(CommandBuffer* uint32_t num_regs) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(regs), num_regs); @@ -2396,7 +2407,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetCxRegistersIndirect(CommandBuffer* uint32_t num_regs) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(regs), num_regs); @@ -2420,7 +2431,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetShRegistersIndirect(CommandBuffer* uint32_t num_regs) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(regs), num_regs); @@ -2444,7 +2455,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetUcRegistersIndirect(CommandBuffer* uint32_t num_regs) { PRINT_NAME(); - LOGF("\t regs = 0x%016" PRIx64 "\n" + AgcTrace("\t regs = 0x%016" PRIx64 "\n" "\t num_regs = %" PRIu32 "\n", reinterpret_cast(regs), num_regs); @@ -2467,7 +2478,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexSize(CommandBuffer* buf, uint8_t index_siz uint8_t cache_policy) { PRINT_NAME(); - LOGF("\t index_size = 0x%" PRIx8 "\n" + AgcTrace("\t index_size = 0x%" PRIx8 "\n" "\t cache_policy = 0x%" PRIx8 "\n", index_size, cache_policy); @@ -2488,7 +2499,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexSize(CommandBuffer* buf, uint8_t index_siz uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexBuffer(CommandBuffer* buf, uint64_t index_addr) { PRINT_NAME(); - LOGF("\t index_addr = 0x%016" PRIx64 "\n", index_addr); + AgcTrace("\t index_addr = 0x%016" PRIx64 "\n", index_addr); EXIT_NOT_IMPLEMENTED(buf == nullptr); EXIT_NOT_IMPLEMENTED((index_addr & 1u) != 0); @@ -2509,7 +2520,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexBuffer(CommandBuffer* buf, uint64_t index_ uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexCount(CommandBuffer* buf, uint32_t index_count) { PRINT_NAME(); - LOGF("\t index_count = 0x%" PRIx32 "\n", index_count); + AgcTrace("\t index_count = 0x%" PRIx32 "\n", index_count); EXIT_NOT_IMPLEMENTED(buf == nullptr); @@ -2528,7 +2539,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexCount(CommandBuffer* buf, uint32_t index_c uint32_t* KYTY_SYSV_ABI AgcDcbSetNumInstances(CommandBuffer* buf, uint32_t num_instances) { PRINT_NAME(); - LOGF("\t num_instances = 0x%" PRIx32 "\n", num_instances); + AgcTrace("\t num_instances = 0x%" PRIx32 "\n", num_instances); if (buf == nullptr) { return nullptr; @@ -2624,7 +2635,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndex(CommandBuffer* buf, uint32_t index_count const volatile void* index_addr, uint64_t modifier) { PRINT_NAME(); - LOGF("\t index_count = 0x%" PRIx32 "\n" + AgcTrace("\t index_count = 0x%" PRIx32 "\n" "\t index_addr = 0x%016" PRIx64 "\n" "\t modifier = 0x%016" PRIx64 "\n", index_count, reinterpret_cast(index_addr), modifier); @@ -2663,7 +2674,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexMultiInstanced(CommandBuffer* buf, uint32 uint32_t instance_count, uint64_t modifier) { PRINT_NAME(); - LOGF("\t index_count = 0x%" PRIx32 "\n" + AgcTrace("\t index_count = 0x%" PRIx32 "\n" "\t index_addr = 0x%016" PRIx64 "\n" "\t instance_count = 0x%" PRIx32 "\n" "\t object_ids = 0x%016" PRIx64 "\n" @@ -2739,7 +2750,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexAuto(CommandBuffer* buf, uint32_t index_c uint64_t modifier) { PRINT_NAME(); - LOGF("\t index_count = 0x%" PRIx32 "\n" + AgcTrace("\t index_count = 0x%" PRIx32 "\n" "\t modifier = 0x%016" PRIx64 "\n", index_count, modifier); @@ -2768,7 +2779,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexOffset(CommandBuffer* buf, uint32_t index uint32_t index_count, uint64_t modifier) { PRINT_NAME(); - LOGF("\t index_offset = 0x%" PRIx32 "\n" + AgcTrace("\t index_offset = 0x%" PRIx32 "\n" "\t index_count = 0x%" PRIx32 "\n" "\t modifier = 0x%016" PRIx64 "\n", index_offset, index_count, modifier); @@ -2826,7 +2837,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexIndirect(CommandBuffer* buf, uint32_t dat uint64_t modifier) { PRINT_NAME(); - LOGF("\t data_offset = 0x%" PRIx32 "\n" + AgcTrace("\t data_offset = 0x%" PRIx32 "\n" "\t modifier = 0x%016" PRIx64 "\n", data_offset_in_bytes, modifier); @@ -2853,7 +2864,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndirect(CommandBuffer* buf, uint32_t data_off uint64_t modifier) { PRINT_NAME(); - LOGF("\t data_offset = 0x%" PRIx32 "\n" + AgcTrace("\t data_offset = 0x%" PRIx32 "\n" "\t modifier = 0x%016" PRIx64 "\n", data_offset_in_bytes, modifier); @@ -2884,7 +2895,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndirectMulti(CommandBuffer* buf, uint32_t stride_in_bytes, uint64_t modifier) { PRINT_NAME(); - LOGF("\t data_offset = 0x%" PRIx32 "\n" + AgcTrace("\t data_offset = 0x%" PRIx32 "\n" "\t count_indirect = 0x%" PRIx32 "\n" "\t max_count_or_count = 0x%" PRIx32 "\n" "\t count_addr = 0x%016" PRIx64 "\n" @@ -2947,7 +2958,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexIndirectMulti(CommandBuffer* buf, uint32_t stride_in_bytes, uint64_t modifier) { PRINT_NAME(); - LOGF("\t data_offset = 0x%" PRIx32 "\n" + AgcTrace("\t data_offset = 0x%" PRIx32 "\n" "\t count_indirect = 0x%" PRIx32 "\n" "\t max_count_or_count = 0x%" PRIx32 "\n" "\t count_addr = 0x%016" PRIx64 "\n" @@ -3801,7 +3812,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbWriteData(CommandBuffer* buf, uint8_t dst, uint8_t uint8_t write_confirm) { PRINT_NAME(); - LOGF("\t dst = 0x%02" PRIx8 "\n" + AgcTrace("\t dst = 0x%02" PRIx8 "\n" "\t cache_policy = 0x%02" PRIx8 "\n" "\t address_or_offset = 0x%016" PRIx64 "\n" "\t data = 0x%016" PRIx64 "\n" @@ -4054,7 +4065,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbWaitRegMem(CommandBuffer* buf, uint8_t size, uint8 uint64_t mask, uint32_t poll_cycles) { PRINT_NAME(); - LOGF("\t size = 0x%02" PRIx8 "\n" + AgcTrace("\t size = 0x%02" PRIx8 "\n" "\t compare_function = 0x%02" PRIx8 "\n" "\t op = 0x%02" PRIx8 "\n" "\t cache_policy = 0x%02" PRIx8 "\n" @@ -4201,7 +4212,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetFlip(CommandBuffer* buf, uint32_t video_out_han int64_t flip_arg) { PRINT_NAME(); - LOGF("\t video_out_handle = %" PRIu32 "\n" + AgcTrace("\t video_out_handle = %" PRIu32 "\n" "\t display_buffer_index = %" PRId32 "\n" "\t flip_mode = %" PRIu32 "\n" "\t flip_arg = %" PRId64 "\n", @@ -4252,7 +4263,7 @@ int KYTY_SYSV_ABI AgcDriverSubmitDcb(const Packet* packet) { EXIT_NOT_IMPLEMENTED(packet == nullptr); - LOGF("\t addr = 0x%016" PRIx64 "\n" + AgcTrace("\t addr = 0x%016" PRIx64 "\n" "\t dw_num = 0x%08" PRIx32 "\n" "\t flags = 0x%02" PRIx8 "\n", reinterpret_cast(packet->addr), packet->dw_num, packet->flags); @@ -4266,7 +4277,7 @@ int KYTY_SYSV_ABI AgcDriverSubmitMultiDcbs(uint32_t* const* dcb_gpu_addrs, const uint32_t* dcb_sizes_in_dwords, uint32_t count) { PRINT_NAME(); - LOGF("\t count = %" PRIu32 "\n", count); + AgcTrace("\t count = %" PRIu32 "\n", count); if (count == 0) { return OK; @@ -4279,7 +4290,7 @@ int KYTY_SYSV_ABI AgcDriverSubmitMultiDcbs(uint32_t* const* dcb_gpu_addrs, auto* dcb = dcb_gpu_addrs[i]; uint32_t size_in_dwords = dcb_sizes_in_dwords[i]; - LOGF("\t dcb[%" PRIu32 "] = 0x%016" PRIx64 "\n" + AgcTrace("\t dcb[%" PRIu32 "] = 0x%016" PRIx64 "\n" "\t size[%" PRIu32 "] = 0x%08" PRIx32 "\n", i, reinterpret_cast(dcb), i, size_in_dwords); diff --git a/src/libs/audio.cpp b/src/libs/audio.cpp index 06db7c4aa..8a3b6eac8 100644 --- a/src/libs/audio.cpp +++ b/src/libs/audio.cpp @@ -2931,7 +2931,6 @@ int KYTY_SYSV_ABI Ngs2VoiceGetState(uintptr_t voice_handle, Ngs2VoiceState* stat auto* submixer = reinterpret_cast(state); *submixer = {}; submixer->voice_state.state_flags = Ngs2GetStateFlags(voice); - LOGF("\t state_flags = %u\n", submixer->voice_state.state_flags); break; } case Ngs2RackType::CustomMastering: { @@ -2942,7 +2941,6 @@ int KYTY_SYSV_ABI Ngs2VoiceGetState(uintptr_t voice_handle, Ngs2VoiceState* stat std::memset(state, 0, state_size); auto* mastering = reinterpret_cast(state); mastering->voice_state.state_flags = Ngs2GetStateFlags(voice); - LOGF("\t state_flags = %u\n", mastering->voice_state.state_flags); break; } case Ngs2RackType::Sampler: @@ -2957,7 +2955,6 @@ int KYTY_SYSV_ABI Ngs2VoiceGetState(uintptr_t voice_handle, Ngs2VoiceState* stat state->state_flags = Ngs2GetStateFlags(voice); if (state_size < sizeof(Ngs2SamplerVoiceState)) { - LOGF("\t state_flags = %u\n", state->state_flags); break; } @@ -2968,7 +2965,6 @@ int KYTY_SYSV_ABI Ngs2VoiceGetState(uintptr_t voice_handle, Ngs2VoiceState* stat sampler->num_decoded_samples = 0; sampler->user_data = 0; sampler->waveform_data = nullptr; - LOGF("\t state_flags = %u\n", sampler->voice_state.state_flags); break; } default: EXIT("unknown type: %s\n", Common::EnumName(voice->rack->type).c_str()); @@ -2989,8 +2985,6 @@ int KYTY_SYSV_ABI Ngs2VoiceGetStateFlags(uintptr_t voice_handle, uint32_t* state *state_flags = Ngs2GetStateFlags(voice); - LOGF("\t state_flags = %u\n", *state_flags); - return OK; }