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; };