feat: implement D3D12 device initialization with debug layer

D3D12 Core:
- Implement complete device initialization flow
- Add debug layer enablement in DEBUG mode
- Add GPU adapter enumeration and selection
- Add feature level checking (min 11.0)
- Add DXCall and NAME_D3D12_OBJECT macros
- Add release template function
- Configure info queue for error/warning breakpoints

Documentation:
- Add changelog for D3D12 device initialization
- Update D3D12 Wiki with current implementation status
- Add Doxygen comments to Renderer and platform interface
This commit is contained in:
SpecialX
2026-03-26 19:01:08 +08:00
parent b7eebc11b2
commit 3fdc774f3f
11 changed files with 425 additions and 15 deletions

View File

@@ -5,6 +5,13 @@
namespace XEngine::graphics {
namespace {
platform_interface gfx{};
/**
* @brief 设置图形渲染平台的接口
* @details 根据指定的平台类型,调用对应的初始化与关闭函数指针
* @param platform 图形渲染平台类型
* @return true 如果初始化成功,否则返回 false
*/
bool
set_platform_interface(graphics_platform platform)
{
@@ -22,13 +29,19 @@ set_platform_interface(graphics_platform platform)
default:
return false;
}
return gfx.initialize();
return true;
}
}// anonymous namespace
/**
* @brief 初始化图形渲染平台
* @details 调用设置平台接口函数,初始化指定的图形渲染平台
* @param platform 图形渲染平台类型
* @return true 如果初始化成功,否则返回 false
*/
bool initialize(graphics_platform platform)
{
return set_platform_interface(platform);
return set_platform_interface(platform) && gfx.initialize();
}
void shutdown()