Add functionality for overlay tweaking & manual capturing by apps

* The functionality is exposed via dllexported functions so that apps can
  call it to tweak renderdoc's behaviour when injects.
  1) Can now turn bits of the overlay off, or hide it entirely.
  2) Can also manually start and stop a capture on a given window. This
     skips the need for swapping between active swapchains, and allows the
     app to define the exact region of D3D11 calls to be captured (could in
     fact be many frames).
     The window provided determines the swapchain used for thumbnail, and
     also implicitly specifies the device to be used for capture.
This commit is contained in:
baldurk committed 2014-09-02 00:21:12 +01:00
1 parent e0a7c0df85
commit 546a1fbb31
7 files changed
+676 -471

No files matched your search

+30
View File
@@ -194,12 +194,42 @@ uint32_t RENDERDOC_CC RENDERDOC_InjectIntoProcess(uint32_t pid, const wchar_t *l
return Process::InjectIntoProcess(pid, logfile, opts, waitForExit);
}
extern "C" RENDERDOC_API
void RENDERDOC_CC RENDERDOC_SetActiveWindow(void *wndHandle)
{
RenderDoc::Inst().SetActiveWindow(wndHandle);
}
extern "C" RENDERDOC_API
void RENDERDOC_CC RENDERDOC_TriggerCapture()
{
RenderDoc::Inst().TriggerCapture();
}
extern "C" RENDERDOC_API
void RENDERDOC_CC RENDERDOC_StartFrameCapture(void *wndHandle)
{
RenderDoc::Inst().StartFrameCapture(wndHandle);
}
extern "C" RENDERDOC_API
bool RENDERDOC_CC RENDERDOC_EndFrameCapture(void *wndHandle)
{
return RenderDoc::Inst().EndFrameCapture(wndHandle);
}
extern "C" RENDERDOC_API
uint32_t RENDERDOC_CC RENDERDOC_GetOverlayBits()
{
return RenderDoc::Inst().GetOverlayBits();
}
extern "C" RENDERDOC_API
void RENDERDOC_CC RENDERDOC_MaskOverlayBits(uint32_t and, uint32_t or)
{
RenderDoc::Inst().MaskOverlayBits(and, or);
}
extern "C" RENDERDOC_API
void RENDERDOC_CC RENDERDOC_QueueCapture(uint32_t frameNumber)
{