From b1ccf2ca3639464c9c920c1de8660e68cf4333b1 Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Tue, 6 Jan 2026 22:44:27 +0000 Subject: [PATCH] feat(bgfx): Enhance platform data handling and add initialization logging --- src/services/impl/bgfx_graphics_backend.cpp | 10 +++++++++- src/services/impl/bgfx_graphics_backend.hpp | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/services/impl/bgfx_graphics_backend.cpp b/src/services/impl/bgfx_graphics_backend.cpp index d87beb2..7c6e4ca 100644 --- a/src/services/impl/bgfx_graphics_backend.cpp +++ b/src/services/impl/bgfx_graphics_backend.cpp @@ -298,7 +298,8 @@ BgfxGraphicsBackend::~BgfxGraphicsBackend() { } void BgfxGraphicsBackend::SetupPlatformData(void* window) { - bgfx::PlatformData pd{}; + platformData_ = bgfx::PlatformData{}; + auto& pd = platformData_; platformHandleInfo_ = PlatformHandleInfo{}; platformHandleInfo_.handleType = bgfx::NativeWindowHandleType::Default; SDL_Window* sdlWindow = static_cast(window); @@ -484,6 +485,13 @@ void BgfxGraphicsBackend::Initialize(void* window, const GraphicsConfig& config) init.resolution.width = viewportWidth_; init.resolution.height = viewportHeight_; init.resolution.reset = BGFX_RESET_VSYNC; + init.platformData = platformData_; + if (logger_) { + logger_->Trace("BgfxGraphicsBackend", "Initialize", + "initPlatformData.nwh=" + std::to_string(reinterpret_cast(init.platformData.nwh)) + + ", initPlatformData.ndt=" + std::to_string(reinterpret_cast(init.platformData.ndt)) + + ", initPlatformData.type=" + std::string(HandleTypeName(init.platformData.type))); + } std::vector candidates; auto addCandidate = [&candidates](bgfx::RendererType::Enum type) { diff --git a/src/services/impl/bgfx_graphics_backend.hpp b/src/services/impl/bgfx_graphics_backend.hpp index cb1241b..0ca207d 100644 --- a/src/services/impl/bgfx_graphics_backend.hpp +++ b/src/services/impl/bgfx_graphics_backend.hpp @@ -113,6 +113,7 @@ private: bool initialized_ = false; bgfx::ViewId viewId_ = 0; PlatformHandleInfo platformHandleInfo_{}; + bgfx::PlatformData platformData_{}; bool loggedInitFailureDiagnostics_ = false; };