mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-29 01:46:38 +00:00
Add macOS windowing system to public API
* For now it expects a CALayer since this works around a MoltenVK bug
This commit is contained in:
@@ -316,6 +316,8 @@ void CaptureContext::LoadCaptureThreaded(const QString &captureFile, const QStri
|
||||
m_XCBConnection = QX11Info::connection();
|
||||
else
|
||||
m_X11Display = QX11Info::display();
|
||||
#elif defined(RENDERDOC_PLATFORM_APPLE)
|
||||
m_CurWinSystem = WindowingSystem::MacOS;
|
||||
#endif
|
||||
|
||||
m_StructuredFile = &r->GetStructuredFile();
|
||||
@@ -1198,7 +1200,7 @@ int CaptureContext::ResourceNameCacheID()
|
||||
}
|
||||
|
||||
#if defined(RENDERDOC_PLATFORM_APPLE)
|
||||
extern "C" void makeNSViewMetalCompatible(void *handle);
|
||||
extern "C" void *makeNSViewMetalCompatible(void *handle);
|
||||
#endif
|
||||
|
||||
WindowingData CaptureContext::CreateWindowingData(QWidget *window)
|
||||
@@ -1217,6 +1219,14 @@ WindowingData CaptureContext::CreateWindowingData(QWidget *window)
|
||||
else
|
||||
return CreateXlibWindowingData(m_X11Display, (Drawable)window->winId());
|
||||
|
||||
#elif defined(RENDERDOC_PLATFORM_APPLE)
|
||||
|
||||
void *view = (void *)window->winId();
|
||||
|
||||
void *layer = makeNSViewMetalCompatible(view);
|
||||
|
||||
return CreateMacOSWindowingData(layer);
|
||||
|
||||
#elif defined(RENDERDOC_PLATFORM_APPLE)
|
||||
|
||||
WindowingData ret = {WindowingSystem::Unknown};
|
||||
|
||||
Reference in New Issue
Block a user