From b4a558805474f75545d808ccde09ab77466a3c7b Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Wed, 7 Jan 2026 16:24:14 +0000 Subject: [PATCH] feat(logging): Enhance logging in shader compilation and program creation for better traceability --- src/services/impl/bgfx_gui_service.cpp | 11 +++++++++-- src/services/impl/bgfx_shader_compiler.cpp | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/services/impl/bgfx_gui_service.cpp b/src/services/impl/bgfx_gui_service.cpp index 6137f85..9690495 100644 --- a/src/services/impl/bgfx_gui_service.cpp +++ b/src/services/impl/bgfx_gui_service.cpp @@ -971,6 +971,11 @@ bgfx::ProgramHandle BgfxGuiService::CreateProgram(const char* vertexSource, bgfx::ShaderHandle vs = CreateShader("gui_vertex", vertexSource, true); bgfx::ShaderHandle fs = CreateShader("gui_fragment", fragmentSource, false); + if (logger_) { + logger_->Trace("BgfxGuiService", "CreateProgram", + "vs.idx=" + std::to_string(vs.idx) + ", vs.valid=" + std::to_string(bgfx::isValid(vs)) + + ", fs.idx=" + std::to_string(fs.idx) + ", fs.valid=" + std::to_string(bgfx::isValid(fs))); + } if (!bgfx::isValid(vs) || !bgfx::isValid(fs)) { if (logger_) { logger_->Error("BgfxGuiService::CreateProgram: shader compilation failed (vs=" + @@ -990,9 +995,11 @@ bgfx::ProgramHandle BgfxGuiService::CreateProgram(const char* vertexSource, if (!bgfx::isValid(program) && logger_) { logger_->Error("BgfxGuiService::CreateProgram: bgfx::createProgram failed to link shaders"); logger_->Trace("BgfxGuiService", "CreateProgram", - "renderer=" + std::string(RendererTypeName(bgfx::getRendererType()))); + "renderer=" + std::string(RendererTypeName(bgfx::getRendererType())) + + ", program.idx=" + std::to_string(program.idx)); } else if (logger_) { - logger_->Trace("BgfxGuiService", "CreateProgram", "GUI program created successfully"); + logger_->Trace("BgfxGuiService", "CreateProgram", + "GUI program created successfully, program.idx=" + std::to_string(program.idx)); } return program; } diff --git a/src/services/impl/bgfx_shader_compiler.cpp b/src/services/impl/bgfx_shader_compiler.cpp index 68d7209..38e714a 100644 --- a/src/services/impl/bgfx_shader_compiler.cpp +++ b/src/services/impl/bgfx_shader_compiler.cpp @@ -135,6 +135,11 @@ bgfx::ShaderHandle BgfxShaderCompiler::CompileShader( std::vector spirv(result.cbegin(), result.cend()); + if (logger_) { + logger_->Trace("BgfxShaderCompiler", "CompileShader", + "label=" + label + " SPIRV compiled, " + std::to_string(spirv.size()) + " words"); + } + // Wrap SPIRV with bgfx binary format including uniform metadata constexpr uint8_t kBgfxShaderVersion = 11; constexpr uint32_t kMagicVSH = ('V') | ('S' << 8) | ('H' << 16) | (kBgfxShaderVersion << 24); @@ -196,6 +201,9 @@ bgfx::ShaderHandle BgfxShaderCompiler::CompileShader( if (!bgfx::isValid(handle) && logger_) { logger_->Error("BgfxShaderCompiler: bgfx::createShader failed for " + label + " (spirvSize=" + std::to_string(spirv.size()) + " words)"); + } else if (logger_) { + logger_->Trace("BgfxShaderCompiler", "CompileShader", + "label=" + label + " shader created successfully, handle=" + std::to_string(handle.idx)); } return handle;