From 87280c549d0bf454dbe73c1d909702dcadcd5bb8 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 29 Dec 2017 12:53:48 +0000 Subject: [PATCH] Don't use current driver for creating RDC, pass in driver explicitly --- renderdoc/core/core.cpp | 6 +++--- renderdoc/core/core.h | 4 ++-- renderdoc/driver/d3d11/d3d11_device.cpp | 3 ++- renderdoc/driver/d3d12/d3d12_device.cpp | 3 ++- renderdoc/driver/gl/gl_driver.cpp | 4 ++-- renderdoc/driver/vulkan/vk_core.cpp | 3 ++- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/renderdoc/core/core.cpp b/renderdoc/core/core.cpp index fd00ee6ae..a6757e4ee 100644 --- a/renderdoc/core/core.cpp +++ b/renderdoc/core/core.cpp @@ -699,8 +699,8 @@ bool RenderDoc::ShouldTriggerCapture(uint32_t frameNumber) return ret; } -RDCFile *RenderDoc::CreateRDC(uint32_t frameNum, void *thpixels, size_t thlen, uint16_t thwidth, - uint16_t thheight) +RDCFile *RenderDoc::CreateRDC(RDCDriver driver, uint32_t frameNum, void *thpixels, size_t thlen, + uint16_t thwidth, uint16_t thheight) { RDCFile *ret = new RDCFile; @@ -731,7 +731,7 @@ RDCFile *RenderDoc::CreateRDC(uint32_t frameNum, void *thpixels, size_t thlen, u thumb = &th; } - ret->SetData(m_CurrentDriver, ToStr(m_CurrentDriver).c_str(), OSUtility::GetMachineIdent(), thumb); + ret->SetData(driver, ToStr(driver).c_str(), OSUtility::GetMachineIdent(), thumb); ret->Create(m_CurrentLogFile.c_str()); diff --git a/renderdoc/core/core.h b/renderdoc/core/core.h index ca6abec63..cfabc9f57 100644 --- a/renderdoc/core/core.h +++ b/renderdoc/core/core.h @@ -288,8 +288,8 @@ public: void RecreateCrashHandler(); void UnloadCrashHandler(); ICrashHandler *GetCrashHandler() const { return m_ExHandler; } - RDCFile *CreateRDC(uint32_t frameNum, void *thpixels, size_t thlen, uint16_t thwidth, - uint16_t thheight); + RDCFile *CreateRDC(RDCDriver driver, uint32_t frameNum, void *thpixels, size_t thlen, + uint16_t thwidth, uint16_t thheight); void FinishCaptureWriting(RDCFile *rdc, uint32_t frameNumber); void AddChildProcess(uint32_t pid, uint32_t ident) diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index 915a4e881..29309f025 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -1646,7 +1646,8 @@ bool WrappedID3D11Device::EndFrameCapture(void *dev, void *wnd) } } - RDCFile *rdc = RenderDoc::Inst().CreateRDC(m_FrameCounter, jpgbuf, len, thwidth, thheight); + RDCFile *rdc = RenderDoc::Inst().CreateRDC(RDCDriver::D3D11, m_FrameCounter, jpgbuf, len, + thwidth, thheight); SAFE_DELETE_ARRAY(jpgbuf); SAFE_DELETE_ARRAY(thpixels); diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 89b10c8da..a389849f0 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -1559,7 +1559,8 @@ bool WrappedID3D12Device::EndFrameCapture(void *dev, void *wnd) if((*it)->GetResourceRecord()->ContainsExecuteIndirect) WrappedID3D12Resource::RefBuffers(GetResourceManager()); - rdc = RenderDoc::Inst().CreateRDC(m_FrameCounter, jpgbuf, len, thwidth, thheight); + rdc = RenderDoc::Inst().CreateRDC(RDCDriver::D3D12, m_FrameCounter, jpgbuf, len, thwidth, + thheight); SAFE_DELETE_ARRAY(jpgbuf); SAFE_DELETE_ARRAY(thpixels); diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 94b0aa855..95ffbcaa0 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -2401,8 +2401,8 @@ bool WrappedOpenGL::EndFrameCapture(void *dev, void *wnd) if(bbim == NULL) bbim = SaveBackbufferImage(); - RDCFile *rdc = RenderDoc::Inst().CreateRDC(m_FrameCounter, bbim->jpgbuf, bbim->len, - bbim->thwidth, bbim->thheight); + RDCFile *rdc = RenderDoc::Inst().CreateRDC(GetDriverType(), m_FrameCounter, bbim->jpgbuf, + bbim->len, bbim->thwidth, bbim->thheight); SAFE_DELETE(bbim); diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 0bccb7a16..85fd9692a 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -1291,7 +1291,8 @@ bool WrappedVulkan::EndFrameCapture(void *dev, void *wnd) } } - RDCFile *rdc = RenderDoc::Inst().CreateRDC(m_FrameCounter, jpgbuf, len, thwidth, thheight); + RDCFile *rdc = + RenderDoc::Inst().CreateRDC(RDCDriver::Vulkan, m_FrameCounter, jpgbuf, len, thwidth, thheight); SAFE_DELETE_ARRAY(jpgbuf); SAFE_DELETE_ARRAY(thpixels);