#3332·bgfx

Using OpenGL as the renderer leads to TDR(0x0000116)

Author: sqmh666Created Jul 29, 2024Updated Nov 17, 2025

Win11 23H2 thinkpad, CPU:Intel Ultra7 155H,Graphics:Intel Arc(Core graphics) 18-ibl.cpp

bgfx::Init init;
		init.type     = bgfx::RendererType::OpenGL;
		init.vendorId = args.m_pciId;
		init.platformData.nwh  = entry::getNativeWindowHandle(entry::kDefaultWindowHandle);
		init.platformData.ndt  = entry::getNativeDisplayHandle();
		init.platformData.type = entry::getNativeWindowHandleType();
		init.resolution.width  = m_width;
		init.resolution.height = m_height;
		init.resolution.reset  = m_reset;
		bgfx::init(init);

line419: init.type = args.m_type; I change it into init.type = bgfx::RendererType::OpenGL; in Visual Studio and execute single-step debugging about bgfx::init(init); Call Stack:

example-18-iblDebug.exe!bx::Semaphore::wait(int _msecs) line 276	C++
	example-18-iblDebug.exe!bgfx::Context::renderSemWait() line 5244	C++
	example-18-iblDebug.exe!bgfx::Context::frame(bool _capture) line 2326	C++
	example-18-iblDebug.exe!bgfx::Context::init(const bgfx::Init & _init) line 1997	C++
	example-18-iblDebug.exe!bgfx::init(const bgfx::Init & _userInit) line 3571	C++
>	example-18-iblDebug.exe!`anonymous namespace'::ExampleIbl::init(int _argc, const char * const * _argv, unsigned int _width, unsigned int _height) line 427	C++

return WAIT_OBJECT_0 == WaitForSingleObject(si->m_handle, milliseconds); I get stuck at this,however,on an older version of thinkpad it's all fine,older version of thinkpad:i7-1260p,Intel iris xe and nvidia mx550 I have update driver for graphic(Arc graphic) tried everything I could do but nothing helped