fix(RHI): 修复 OpenGL/D3D12 后端编译问题

- 修复 OpenGLCommandList 方法签名匹配 RHI 抽象接口
- 修复 OpenGLSwapChain Present/Resize 方法签名
- 添加 OpenGL 特有方法重载支持后端测试(底层逃逸)
- 暂时禁用不兼容的 Resources 模块
- 更新 OpenGL 测试 CMakeLists
This commit is contained in:
2026-03-17 19:35:51 +08:00
parent a257ff2d8b
commit e138fb2075
15 changed files with 188 additions and 308 deletions

View File

@@ -75,13 +75,14 @@ bool OpenGLDevice::InitializeWithExistingWindow(GLFWwindow* window) {
return false;
}
m_deviceInfo.vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR));
m_deviceInfo.renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
m_deviceInfo.version = reinterpret_cast<const char*>(glGetString(GL_VERSION));
const char* vendor = reinterpret_cast<const char*>(glGetString(GL_VENDOR));
const char* renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
const char* version = reinterpret_cast<const char*>(glGetString(GL_VERSION));
m_deviceInfo.vendor = std::wstring(vendor ? vendor : "", vendor ? vendor + strlen(vendor) : nullptr);
m_deviceInfo.renderer = std::wstring(renderer ? renderer : "", renderer ? renderer + strlen(renderer) : nullptr);
m_deviceInfo.version = std::wstring(version ? version : "", version ? version + strlen(version) : nullptr);
glGetIntegerv(GL_MAJOR_VERSION, &m_deviceInfo.majorVersion);
glGetIntegerv(GL_MINOR_VERSION, &m_deviceInfo.minorVersion);
m_initialized = true;
return true;
}
@@ -157,11 +158,7 @@ const RHICapabilities& OpenGLDevice::GetCapabilities() const {
}
const RHIDeviceInfo& OpenGLDevice::GetDeviceInfo() const {
m_deviceInfoBase.description = L"OpenGL Device";
m_deviceInfoBase.vendor = std::wstring(m_deviceInfo.vendor.begin(), m_deviceInfo.vendor.end());
m_deviceInfoBase.renderer = std::wstring(m_deviceInfo.renderer.begin(), m_deviceInfo.renderer.end());
m_deviceInfoBase.version = std::wstring(m_deviceInfo.version.begin(), m_deviceInfo.version.end());
return m_deviceInfoBase;
return m_deviceInfo;
}
void* OpenGLDevice::GetNativeDevice() {