From e48065c96b0b9b7cb7997cda9c5232630454168e Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 17 May 2019 14:00:20 +0100 Subject: [PATCH] Replace use of std::pair with rdcpair wherever possible * Only remaining uses in our code is when we're interacting with std::map where it uses std::pair internally --- qrenderdoc/Code/Interface/Extensions.h | 2 +- .../Code/Interface/PersistantConfig.cpp | 2 +- qrenderdoc/Code/ReplayManager.cpp | 4 +- qrenderdoc/Code/pyrenderdoc/renderdoc.i | 2 + qrenderdoc/Windows/BufferViewer.cpp | 2 +- .../PipelineState/PipelineStateViewer.cpp | 10 +-- qrenderdoc/Windows/ShaderViewer.cpp | 4 +- qrenderdoc/Windows/TextureViewer.cpp | 8 +-- renderdoc/android/android_patch.cpp | 10 +-- renderdoc/api/replay/basic_types.h | 39 +++++++++-- renderdoc/core/core.h | 7 +- renderdoc/core/remote_server.cpp | 14 ++-- renderdoc/core/resource_manager.h | 4 +- renderdoc/core/target_control.cpp | 4 +- renderdoc/driver/d3d11/d3d11_debug.h | 2 - renderdoc/driver/d3d11/d3d11_manager.h | 3 +- renderdoc/driver/d3d11/d3d11_shaderdebug.cpp | 9 ++- .../driver/d3d12/d3d12_command_list1_wrap.cpp | 18 ++--- .../driver/d3d12/d3d12_command_list_wrap.cpp | 40 +++++------ renderdoc/driver/d3d12/d3d12_commands.cpp | 14 ++-- renderdoc/driver/d3d12/d3d12_commands.h | 4 +- renderdoc/driver/d3d12/d3d12_counters.cpp | 12 ++-- renderdoc/driver/d3d12/d3d12_manager.h | 18 ----- renderdoc/driver/dxgi/dxgi_common.cpp | 6 +- renderdoc/driver/gl/gl_driver.cpp | 6 +- renderdoc/driver/gl/gl_driver.h | 2 +- renderdoc/driver/gl/gl_replay.h | 2 - renderdoc/driver/gl/gl_shader_refl.cpp | 10 +-- renderdoc/driver/ihv/intel/intel_counters.cpp | 13 ++-- renderdoc/driver/ihv/intel/intel_counters.h | 4 +- .../driver/shaders/dxbc/dxbc_inspect.cpp | 2 - renderdoc/driver/shaders/dxbc/dxbc_inspect.h | 3 +- renderdoc/driver/shaders/dxbc/dxbc_sdbg.cpp | 4 +- renderdoc/driver/shaders/dxbc/dxbc_sdbg.h | 1 - renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp | 12 ++-- renderdoc/driver/shaders/dxbc/dxbc_spdb.h | 1 - renderdoc/driver/shaders/spirv/spirv_common.h | 2 +- .../shaders/spirv/spirv_disassemble.cpp | 23 +++---- renderdoc/driver/shaders/spirv/spirv_editor.h | 2 +- renderdoc/driver/vulkan/vk_core.cpp | 20 +++--- renderdoc/driver/vulkan/vk_core.h | 8 +-- renderdoc/driver/vulkan/vk_counters.cpp | 8 +-- renderdoc/driver/vulkan/vk_manager.cpp | 22 +++--- renderdoc/driver/vulkan/vk_manager.h | 13 ++-- renderdoc/driver/vulkan/vk_overlay.cpp | 8 +-- renderdoc/driver/vulkan/vk_resources.cpp | 9 +-- renderdoc/driver/vulkan/vk_resources.h | 12 ++-- .../driver/vulkan/wrappers/vk_cmd_funcs.cpp | 22 +++--- .../driver/vulkan/wrappers/vk_draw_funcs.cpp | 68 +++++++++---------- .../driver/vulkan/wrappers/vk_queue_funcs.cpp | 2 +- .../vulkan/wrappers/vk_resource_funcs.cpp | 2 +- renderdoc/replay/capture_file.cpp | 4 +- renderdoc/replay/replay_controller.cpp | 6 +- renderdoc/replay/replay_output.cpp | 2 +- renderdoc/serialise/serialiser.h | 65 ------------------ renderdoc/serialise/serialiser_tests.cpp | 8 +-- renderdoccmd/renderdoccmd.cpp | 4 +- 57 files changed, 268 insertions(+), 340 deletions(-) diff --git a/qrenderdoc/Code/Interface/Extensions.h b/qrenderdoc/Code/Interface/Extensions.h index 5a3d28a78..6c26ebe3a 100644 --- a/qrenderdoc/Code/Interface/Extensions.h +++ b/qrenderdoc/Code/Interface/Extensions.h @@ -27,7 +27,7 @@ #ifdef RENDERDOC_QT_COMPAT typedef rdcarray > ExtensionCallbackData; -#define make_pyarg make_rdcpair +#define make_pyarg rdcpair #endif diff --git a/qrenderdoc/Code/Interface/PersistantConfig.cpp b/qrenderdoc/Code/Interface/PersistantConfig.cpp index 134a5c294..b51258b99 100644 --- a/qrenderdoc/Code/Interface/PersistantConfig.cpp +++ b/qrenderdoc/Code/Interface/PersistantConfig.cpp @@ -102,7 +102,7 @@ rdcstrpairs convertFromVariant(const QVariantMap &val) rdcstrpairs ret; for(const QString &k : val.keys()) { - ret.push_back(make_rdcpair(k, val[k].toString())); + ret.push_back({k, val[k].toString()}); } return ret; } diff --git a/qrenderdoc/Code/ReplayManager.cpp b/qrenderdoc/Code/ReplayManager.cpp index 8a81e7e2d..094260e1c 100644 --- a/qrenderdoc/Code/ReplayManager.cpp +++ b/qrenderdoc/Code/ReplayManager.cpp @@ -422,7 +422,7 @@ void ReplayManager::run(int proxyRenderer, const QString &capturefile, if(m_Remote) { - std::tie(m_CreateStatus, m_Renderer) = + rdctie(m_CreateStatus, m_Renderer) = m_Remote->OpenCapture(proxyRenderer, capturefile.toUtf8().data(), progress); } else @@ -432,7 +432,7 @@ void ReplayManager::run(int proxyRenderer, const QString &capturefile, m_CreateStatus = m_CaptureFile->OpenFile(capturefile.toUtf8().data(), "rdc", NULL); if(m_CreateStatus == ReplayStatus::Succeeded) - std::tie(m_CreateStatus, m_Renderer) = m_CaptureFile->OpenCapture(progress); + rdctie(m_CreateStatus, m_Renderer) = m_CaptureFile->OpenCapture(progress); } if(m_Renderer == NULL) diff --git a/qrenderdoc/Code/pyrenderdoc/renderdoc.i b/qrenderdoc/Code/pyrenderdoc/renderdoc.i index d28e0c975..190fb9dfd 100644 --- a/qrenderdoc/Code/pyrenderdoc/renderdoc.i +++ b/qrenderdoc/Code/pyrenderdoc/renderdoc.i @@ -135,6 +135,8 @@ %ignore rdcarray::operator[]; %ignore rdcstr::operator=; %ignore rdcstr::operator std::string; +%ignore rdcpair::operator=; +%ignore rdcpair::swap; // simple typemap to delete old byte arrays in a buffer list before assigning the new one %typemap(memberin) StructuredBufferList { diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index bf0d55dc7..26fff6a0f 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -2745,7 +2745,7 @@ void BufferViewer::render_clicked(QMouseEvent *e) uint32_t instanceSelected = 0; uint32_t vertSelected = 0; - std::tie(vertSelected, instanceSelected) = + rdctie(vertSelected, instanceSelected) = m_Output->PickVertex(m_Ctx.CurEvent(), (uint32_t)curpos.x(), (uint32_t)curpos.y()); if(vertSelected != ~0U) diff --git a/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp index 064eea15f..b16d572a3 100644 --- a/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp @@ -1041,7 +1041,7 @@ IShaderViewer *PipelineStateViewer::EditShader(ResourceId id, ShaderStage shader ResourceId from = id; ResourceId to; - std::tie(to, errs) = + rdctie(to, errs) = r->BuildTargetShader(entryFunc.c_str(), shaderEncoding, shaderBytes, flags, shaderType); GUIInvoke::call(viewer->Widget(), [viewer, errs]() { viewer->ShowErrors(errs); }); @@ -1111,7 +1111,7 @@ IShaderViewer *PipelineStateViewer::EditDecompiledSource(const ShaderProcessingT source.assign((const char *)out.result.data(), out.result.size()); rdcstrpairs files; - files.push_back(make_rdcpair("decompiled", source)); + files.push_back(rdcpair("decompiled", source)); IShaderViewer *sv = EditShader(id, shaderDetails->stage, shaderDetails->entryPoint, shaderDetails->debugInfo.compileFlags, tool.output, files); @@ -1198,7 +1198,7 @@ void PipelineStateViewer::SetupShaderEditButton(QToolButton *button, ResourceId GUIInvoke::call(this, [this, shaderId, shaderDetails, editeddisasm]() { rdcstrpairs files; - files.push_back(make_rdcpair("pseudocode", editeddisasm)); + files.push_back(rdcpair("pseudocode", editeddisasm)); EditShader(shaderId, shaderDetails->stage, shaderDetails->entryPoint, ShaderCompileFlags(), ShaderEncoding::Unknown, files); @@ -1210,8 +1210,8 @@ void PipelineStateViewer::SetupShaderEditButton(QToolButton *button, ResourceId entry = lit("EditedShader%1S").arg(ToQStr(shaderDetails->stage, GraphicsAPI::D3D11)[0]); rdcstrpairs files; - files.push_back(make_rdcpair("decompiled_stub.hlsl", - GenerateHLSLStub(shaderDetails, entry))); + files.push_back(rdcpair("decompiled_stub.hlsl", + GenerateHLSLStub(shaderDetails, entry))); EditShader(shaderId, shaderDetails->stage, entry, ShaderCompileFlags(), ShaderEncoding::HLSL, files); diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index 5e4823cd6..52dac52ac 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -3456,8 +3456,8 @@ void ShaderViewer::on_refresh_clicked() for(ScintillaEdit *s : m_Scintillas) { QWidget *w = (QWidget *)s; - files.push_back(make_rdcpair( - w->property("filename").toString(), QString::fromUtf8(s->getText(s->textLength() + 1)))); + files.push_back( + {w->property("filename").toString(), QString::fromUtf8(s->getText(s->textLength() + 1))}); } if(files.isEmpty()) diff --git a/qrenderdoc/Windows/TextureViewer.cpp b/qrenderdoc/Windows/TextureViewer.cpp index fd29e1b5a..23b90a012 100644 --- a/qrenderdoc/Windows/TextureViewer.cpp +++ b/qrenderdoc/Windows/TextureViewer.cpp @@ -3245,7 +3245,7 @@ void TextureViewer::AutoFitRange() m_Ctx.Replay().AsyncInvoke([this](IReplayController *r) { PixelValue min, max; - std::tie(min, max) = m_Output->GetMinMax(); + rdctie(min, max) = m_Output->GetMinMax(); { float minval = FLT_MAX; @@ -3825,8 +3825,8 @@ void TextureViewer::reloadCustomShaders(const QString &filter) rdcstr errors; ResourceId id; - std::tie(id, errors) = r->BuildCustomShader("main", source.toUtf8().data(), - ShaderCompileFlags(), ShaderStage::Pixel); + rdctie(id, errors) = r->BuildCustomShader("main", source.toUtf8().data(), + ShaderCompileFlags(), ShaderStage::Pixel); if(m_CustomShaderEditor.contains(key)) { @@ -3945,7 +3945,7 @@ void TextureViewer::on_customEdit_clicked() } rdcstrpairs files; - files.push_back(make_rdcpair(filename, src)); + files.push_back({filename, src}); QPointer thisPointer(this); diff --git a/renderdoc/android/android_patch.cpp b/renderdoc/android/android_patch.cpp index a0cea2a7e..5d8550c0e 100644 --- a/renderdoc/android/android_patch.cpp +++ b/renderdoc/android/android_patch.cpp @@ -354,12 +354,12 @@ bool ReinstallPatchedAPK(const std::string &deviceID, const std::string &apk, co bool CheckPatchingRequirements() { // check for required tools for patching - std::vector> requirements; + std::vector> requirements; std::vector missingTools; - requirements.push_back(std::make_pair(ToolDir::BuildTools, "aapt")); - requirements.push_back(std::make_pair(ToolDir::BuildTools, "zipalign")); - requirements.push_back(std::make_pair(ToolDir::BuildToolsLib, "apksigner.jar")); - requirements.push_back(std::make_pair(ToolDir::Java, "java")); + requirements.push_back({ToolDir::BuildTools, "aapt"}); + requirements.push_back({ToolDir::BuildTools, "zipalign"}); + requirements.push_back({ToolDir::BuildToolsLib, "apksigner.jar"}); + requirements.push_back({ToolDir::Java, "java"}); for(uint32_t i = 0; i < requirements.size(); i++) { diff --git a/renderdoc/api/replay/basic_types.h b/renderdoc/api/replay/basic_types.h index 75dd5a146..d9e387fb1 100644 --- a/renderdoc/api/replay/basic_types.h +++ b/renderdoc/api/replay/basic_types.h @@ -29,7 +29,6 @@ #include #include #include -#include #include #include @@ -124,6 +123,32 @@ struct rdcpair A first; B second; + rdcpair(const A &a, const B &b) : first(a), second(b) {} + rdcpair() = default; + rdcpair(const rdcpair &o) = default; + rdcpair(rdcpair &&o) = default; + ~rdcpair() = default; + inline void swap(rdcpair &o) + { + std::swap(first, o.first); + std::swap(second, o.second); + } + + template + rdcpair &operator=(const rdcpair &o) + { + first = o.first; + second = o.second; + return *this; + } + + rdcpair &operator=(const rdcpair &o) + { + first = o.first; + second = o.second; + return *this; + } + bool operator==(const rdcpair &o) const { return first == o.first && second == o.second; } bool operator<(const rdcpair &o) const { @@ -131,16 +156,18 @@ struct rdcpair return first < o.first; return second < o.second; } - operator std::tuple() { return std::tie(first, second); } }; template rdcpair make_rdcpair(const A &a, const B &b) { - rdcpair ret; - ret.first = a; - ret.second = b; - return ret; + return rdcpair(a, b); +} + +template +rdcpair rdctie(A &a, B &b) +{ + return rdcpair(a, b); } // utility class that adds a NULL terminator to array operations only if T == char diff --git a/renderdoc/core/core.h b/renderdoc/core/core.h index 782b21c70..c6641bd28 100644 --- a/renderdoc/core/core.h +++ b/renderdoc/core/core.h @@ -39,7 +39,6 @@ #include "os/os_specific.h" using std::vector; -using std::pair; class Chunk; struct RDCThumb; @@ -437,9 +436,9 @@ public: void AddChildProcess(uint32_t pid, uint32_t ident) { SCOPED_LOCK(m_ChildLock); - m_Children.push_back(std::make_pair(pid, ident)); + m_Children.push_back(make_rdcpair(pid, ident)); } - vector > GetChildProcesses() + vector > GetChildProcesses() { SCOPED_LOCK(m_ChildLock); return m_Children; @@ -618,7 +617,7 @@ private: vector m_Captures; Threading::CriticalSection m_ChildLock; - vector > m_Children; + vector > m_Children; std::map m_ConfigSettings; diff --git a/renderdoc/core/remote_server.cpp b/renderdoc/core/remote_server.cpp index 737b430eb..9bc81668e 100644 --- a/renderdoc/core/remote_server.cpp +++ b/renderdoc/core/remote_server.cpp @@ -812,7 +812,7 @@ void RenderDoc::BecomeRemoteServer(const char *listenhost, uint16_t port, if(sock == NULL) return; - std::vector > listenRanges; + std::vector > listenRanges; bool allowExecution = true; FILE *f = FileIO::fopen(FileIO::GetAppFolderFilename("remoteserver.conf").c_str(), "r"); @@ -837,7 +837,7 @@ void RenderDoc::BecomeRemoteServer(const char *listenhost, uint16_t port, if(found) { - listenRanges.push_back(std::make_pair(ip, mask)); + listenRanges.push_back(make_rdcpair(ip, mask)); continue; } else @@ -868,9 +868,9 @@ void RenderDoc::BecomeRemoteServer(const char *listenhost, uint16_t port, "narrow " "this down or accept connections from more ranges."); - listenRanges.push_back(std::make_pair(Network::MakeIP(10, 0, 0, 0), 0xff000000)); - listenRanges.push_back(std::make_pair(Network::MakeIP(172, 16, 0, 0), 0xfff00000)); - listenRanges.push_back(std::make_pair(Network::MakeIP(192, 168, 0, 0), 0xffff0000)); + listenRanges.push_back(make_rdcpair(Network::MakeIP(10, 0, 0, 0), 0xff000000)); + listenRanges.push_back(make_rdcpair(Network::MakeIP(172, 16, 0, 0), 0xfff00000)); + listenRanges.push_back(make_rdcpair(Network::MakeIP(192, 168, 0, 0), 0xffff0000)); } RDCLOG("Allowing connections from:"); @@ -1031,7 +1031,7 @@ public: m_Proxies.reserve(m.size()); for(auto it = m.begin(); it != m.end(); ++it) - m_Proxies.push_back(*it); + m_Proxies.push_back({it->first, it->second}); m_LogcatThread = NULL; } @@ -1858,7 +1858,7 @@ private: std::string m_hostname; Android::LogcatThread *m_LogcatThread; - std::vector > m_Proxies; + std::vector > m_Proxies; }; extern "C" RENDERDOC_API ReplayStatus RENDERDOC_CC diff --git a/renderdoc/core/resource_manager.h b/renderdoc/core/resource_manager.h index d3326ae2e..738dfe62b 100644 --- a/renderdoc/core/resource_manager.h +++ b/renderdoc/core/resource_manager.h @@ -303,7 +303,7 @@ struct ResourceRecord if(ID == 0) ID = GetID(); LockChunks(); - m_Chunks.push_back(std::make_pair(ID, chunk)); + m_Chunks.push_back({ID, chunk}); UnlockChunks(); } @@ -417,7 +417,7 @@ protected: return Atomic::Inc32(&globalIDCounter); } - std::vector> m_Chunks; + std::vector> m_Chunks; Threading::CriticalSection *m_ChunkLock; std::map m_FrameRefs; diff --git a/renderdoc/core/target_control.cpp b/renderdoc/core/target_control.cpp index dc72fbd9e..f761179e4 100644 --- a/renderdoc/core/target_control.cpp +++ b/renderdoc/core/target_control.cpp @@ -140,7 +140,7 @@ void RenderDoc::TargetControlClientThread(uint32_t version, Network::Socket *cli int curtime = 0; std::vector captures; - std::vector > children; + std::vector > children; std::map drivers; float prevCaptureProgress = captureProgress; uint32_t prevWindows = 0; @@ -159,7 +159,7 @@ void RenderDoc::TargetControlClientThread(uint32_t version, Network::Socket *cli std::map curdrivers = RenderDoc::Inst().GetActiveDrivers(); std::vector caps = RenderDoc::Inst().GetCaptures(); - std::vector > childprocs = RenderDoc::Inst().GetChildProcesses(); + std::vector > childprocs = RenderDoc::Inst().GetChildProcesses(); uint32_t curWindows = RenderDoc::Inst().GetCapturableWindowCount(); diff --git a/renderdoc/driver/d3d11/d3d11_debug.h b/renderdoc/driver/d3d11/d3d11_debug.h index 342bac614..dba1abda1 100644 --- a/renderdoc/driver/d3d11/d3d11_debug.h +++ b/renderdoc/driver/d3d11/d3d11_debug.h @@ -33,8 +33,6 @@ #include "driver/shaders/dxbc/dxbc_debug.h" #include "replay/replay_driver.h" -using std::pair; - class Camera; class Vec3f; diff --git a/renderdoc/driver/d3d11/d3d11_manager.h b/renderdoc/driver/d3d11/d3d11_manager.h index 7ca76dc78..b8cd7bd0d 100644 --- a/renderdoc/driver/d3d11/d3d11_manager.h +++ b/renderdoc/driver/d3d11/d3d11_manager.h @@ -174,7 +174,8 @@ struct D3D11ResourceRecord : public ResourceRecord if(!dataWritten) { - recordlist.insert(m_Chunks.begin(), m_Chunks.end()); + for(auto it = m_Chunks.begin(); it != m_Chunks.end(); ++it) + recordlist[it->first] = it->second; for(int i = 0; i < NumSubResources; i++) SubResources[i]->Insert(recordlist); diff --git a/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp b/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp index 890a2d3ea..1d5162a15 100644 --- a/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp +++ b/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp @@ -1213,8 +1213,8 @@ ShaderDebugTrace D3D11Replay::DebugPixel(uint32_t eventId, uint32_t x, uint32_t } vector floatInputs; - vector>> - arrays; // name, pair + // name, pair + vector>> arrays; std::vector inputVarNames; uint32_t nextreg = 0; @@ -1394,9 +1394,8 @@ ShaderDebugTrace D3D11Replay::DebugPixel(uint32_t eventId, uint32_t x, uint32_t } if(arrayLength > 0) - arrays.push_back( - std::make_pair(dxbc->m_InputSig[i].semanticName, - std::make_pair(dxbc->m_InputSig[i].semanticIndex, nextIdx - 1))); + arrays.push_back(make_rdcpair(dxbc->m_InputSig[i].semanticName, + make_rdcpair(dxbc->m_InputSig[i].semanticIndex, nextIdx - 1))); } // as another side effect of the above, an element declared as a 1-length array won't be diff --git a/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp index 644fb0ba8..7b6cb0eb8 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list1_wrap.cpp @@ -100,14 +100,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_AtomicCopyBufferUINT( if(pSrcBuffer == pDstBuffer) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pDstBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -218,14 +218,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_AtomicCopyBufferUINT64( if(pSrcBuffer == pDstBuffer) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pDstBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -475,14 +475,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveSubresourceRegion( if(pSrcResource == pDstResource) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcResource), EventUsage(drawNode.draw.eventId, ResourceUsage::Resolve))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcResource), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveSrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pDstResource), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveDst))); } } diff --git a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp index b716903d2..b2fc6ff96 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp @@ -504,12 +504,12 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResourceBarrier( if(res1) { - cmdinfo.resourceUsage.push_back(std::make_pair( + cmdinfo.resourceUsage.push_back(make_rdcpair( GetResID(res1), EventUsage(cmdinfo.curEventID, ResourceUsage::Barrier))); } if(res2) { - cmdinfo.resourceUsage.push_back(std::make_pair( + cmdinfo.resourceUsage.push_back(make_rdcpair( GetResID(res2), EventUsage(cmdinfo.curEventID, ResourceUsage::Barrier))); } } @@ -4182,9 +4182,9 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteIndirect( D3D12DrawcallTreeNode &drawNode = m_Cmd->GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pArgumentBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pCountBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); ID3D12GraphicsCommandList *cracked = GetCrackedList(); @@ -4354,7 +4354,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearDepthStencilView( D3D12DrawcallTreeNode &drawNode = m_Cmd->GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( descriptor->GetResResourceId(), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); } } @@ -4446,7 +4446,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearRenderTargetView( D3D12DrawcallTreeNode &drawNode = m_Cmd->GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( descriptor->GetResResourceId(), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); } } @@ -4543,7 +4543,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearUnorderedAccessViewUint( D3D12DrawcallTreeNode &drawNode = m_Cmd->GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pResource), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); } } @@ -4648,7 +4648,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ClearUnorderedAccessViewFloat( D3D12DrawcallTreeNode &drawNode = m_Cmd->GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pResource), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); } } @@ -4797,14 +4797,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyBufferRegion(SerialiserType if(pSrcBuffer == pDstBuffer) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pDstBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -4896,14 +4896,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyTextureRegion( if(origSrc == origDst) { drawNode.resourceUsage.push_back( - std::make_pair(liveSrc, EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); + make_rdcpair(liveSrc, EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { drawNode.resourceUsage.push_back( - std::make_pair(liveSrc, EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); + make_rdcpair(liveSrc, EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); drawNode.resourceUsage.push_back( - std::make_pair(liveDst, EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); + make_rdcpair(liveDst, EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } } @@ -4984,14 +4984,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_CopyResource(SerialiserType &se if(pSrcResource == pDstResource) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcResource), EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcResource), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pDstResource), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -5073,14 +5073,14 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ResolveSubresource( if(pSrcResource == pDstResource) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcResource), EventUsage(drawNode.draw.eventId, ResourceUsage::Resolve))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pSrcResource), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveSrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(pDstResource), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveDst))); } } diff --git a/renderdoc/driver/d3d12/d3d12_commands.cpp b/renderdoc/driver/d3d12/d3d12_commands.cpp index f6682841a..754faaca0 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.cpp +++ b/renderdoc/driver/d3d12/d3d12_commands.cpp @@ -1407,7 +1407,7 @@ void D3D12CommandData::AddUsage(D3D12DrawcallTreeNode &drawNode, ResourceId id, if(id == ResourceId()) return; - drawNode.resourceUsage.push_back(std::make_pair(id, EventUsage(EID, usage))); + drawNode.resourceUsage.push_back(make_rdcpair(id, EventUsage(EID, usage))); } void D3D12CommandData::AddUsage(const D3D12RenderState &state, D3D12DrawcallTreeNode &drawNode) @@ -1434,23 +1434,23 @@ void D3D12CommandData::AddUsage(const D3D12RenderState &state, D3D12DrawcallTree if(d.flags & DrawFlags::Indexed && state.ibuffer.buf != ResourceId()) drawNode.resourceUsage.push_back( - std::make_pair(state.ibuffer.buf, EventUsage(e, ResourceUsage::IndexBuffer))); + make_rdcpair(state.ibuffer.buf, EventUsage(e, ResourceUsage::IndexBuffer))); for(size_t i = 0; i < state.vbuffers.size(); i++) { if(state.vbuffers[i].buf != ResourceId()) drawNode.resourceUsage.push_back( - std::make_pair(state.vbuffers[i].buf, EventUsage(e, ResourceUsage::VertexBuffer))); + make_rdcpair(state.vbuffers[i].buf, EventUsage(e, ResourceUsage::VertexBuffer))); } for(size_t i = 0; i < state.streamouts.size(); i++) { if(state.streamouts[i].buf != ResourceId()) drawNode.resourceUsage.push_back( - std::make_pair(state.streamouts[i].buf, EventUsage(e, ResourceUsage::StreamOut))); + make_rdcpair(state.streamouts[i].buf, EventUsage(e, ResourceUsage::StreamOut))); if(state.streamouts[i].countbuf != ResourceId()) drawNode.resourceUsage.push_back( - std::make_pair(state.streamouts[i].countbuf, EventUsage(e, ResourceUsage::StreamOut))); + make_rdcpair(state.streamouts[i].countbuf, EventUsage(e, ResourceUsage::StreamOut))); } vector rts = state.GetRTVIDs(); @@ -1459,13 +1459,13 @@ void D3D12CommandData::AddUsage(const D3D12RenderState &state, D3D12DrawcallTree { if(rts[i] != ResourceId()) drawNode.resourceUsage.push_back( - std::make_pair(rts[i], EventUsage(e, ResourceUsage::ColorTarget))); + make_rdcpair(rts[i], EventUsage(e, ResourceUsage::ColorTarget))); } ResourceId id = state.GetDSVID(); if(id != ResourceId()) drawNode.resourceUsage.push_back( - std::make_pair(id, EventUsage(e, ResourceUsage::DepthStencilTarget))); + make_rdcpair(id, EventUsage(e, ResourceUsage::DepthStencilTarget))); } if(rootdata) diff --git a/renderdoc/driver/d3d12/d3d12_commands.h b/renderdoc/driver/d3d12/d3d12_commands.h index fd775b4c3..dbc21a268 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.h +++ b/renderdoc/driver/d3d12/d3d12_commands.h @@ -40,7 +40,7 @@ struct D3D12DrawcallTreeNode D3D12RenderState *state = NULL; - vector > resourceUsage; + vector > resourceUsage; vector executedCmds; @@ -196,7 +196,7 @@ struct BakedCmdListInfo vector debugMessages; std::list drawStack; - vector > resourceUsage; + vector > resourceUsage; ResourceId allocator; D3D12_COMMAND_LIST_TYPE type; diff --git a/renderdoc/driver/d3d12/d3d12_counters.cpp b/renderdoc/driver/d3d12/d3d12_counters.cpp index 073299da8..be0862158 100644 --- a/renderdoc/driver/d3d12/d3d12_counters.cpp +++ b/renderdoc/driver/d3d12/d3d12_counters.cpp @@ -255,7 +255,7 @@ struct D3D12AMDDrawCallback : public D3D12DrawcallCallback void AliasEvent(uint32_t primary, uint32_t alias) override { - m_AliasEvents.push_back(std::make_pair(primary, alias)); + m_AliasEvents.push_back(make_rdcpair(primary, alias)); } uint32_t *m_pSampleId; @@ -268,7 +268,7 @@ struct D3D12AMDDrawCallback : public D3D12DrawcallCallback // multiple times in the frame. We will only get the full callback when we're // recording the command buffer, and will be given the first EID. After that // we'll just be told which other EIDs alias this event. - vector > m_AliasEvents; + vector > m_AliasEvents; }; void D3D12Replay::FillTimersAMD(uint32_t *eventStartID, uint32_t *sampleIndex, @@ -401,7 +401,7 @@ struct D3D12GPUTimerCallback : public D3D12DrawcallCallback m_NumStatsQueries++; } - m_Results.push_back(std::make_pair(eid, direct)); + m_Results.push_back(make_rdcpair(eid, direct)); return false; } @@ -419,7 +419,7 @@ struct D3D12GPUTimerCallback : public D3D12DrawcallCallback void PreCloseCommandList(ID3D12GraphicsCommandList4 *cmd) override{}; void AliasEvent(uint32_t primary, uint32_t alias) override { - m_AliasEvents.push_back(std::make_pair(primary, alias)); + m_AliasEvents.push_back(make_rdcpair(primary, alias)); } WrappedID3D12Device *m_pDevice; @@ -427,7 +427,7 @@ struct D3D12GPUTimerCallback : public D3D12DrawcallCallback ID3D12QueryHeap *m_TimerQueryHeap; ID3D12QueryHeap *m_PipeStatsQueryHeap; ID3D12QueryHeap *m_OcclusionQueryHeap; - vector > m_Results; + vector > m_Results; uint32_t m_NumStatsQueries; uint32_t m_NumTimestampQueries; @@ -436,7 +436,7 @@ struct D3D12GPUTimerCallback : public D3D12DrawcallCallback // multiple times in the frame. We will only get the full callback when we're // recording the command buffer, and will be given the first EID. After that // we'll just be told which other EIDs alias this event. - vector > m_AliasEvents; + vector > m_AliasEvents; }; vector D3D12Replay::FetchCounters(const vector &counters) diff --git a/renderdoc/driver/d3d12/d3d12_manager.h b/renderdoc/driver/d3d12/d3d12_manager.h index d1ffaf433..a2ad4147f 100644 --- a/renderdoc/driver/d3d12/d3d12_manager.h +++ b/renderdoc/driver/d3d12/d3d12_manager.h @@ -563,24 +563,6 @@ struct D3D12ResourceRecord : public ResourceRecord cmdInfo->bundles.swap(bakedCommands->cmdInfo->bundles); } - void Insert(std::map &recordlist) - { - bool dataWritten = DataWritten; - - DataWritten = true; - - for(auto it = Parents.begin(); it != Parents.end(); ++it) - { - if(!(*it)->DataWritten) - { - (*it)->Insert(recordlist); - } - } - - if(!dataWritten) - recordlist.insert(m_Chunks.begin(), m_Chunks.end()); - } - D3D12ResourceType type; bool ContainsExecuteIndirect; D3D12ResourceRecord *bakedCommands; diff --git a/renderdoc/driver/dxgi/dxgi_common.cpp b/renderdoc/driver/dxgi/dxgi_common.cpp index 2c90c99cb..4b18b6037 100644 --- a/renderdoc/driver/dxgi/dxgi_common.cpp +++ b/renderdoc/driver/dxgi/dxgi_common.cpp @@ -1600,12 +1600,12 @@ void WarnUnknownGUID(const char *name, REFIID riid) static Threading::CriticalSection lock; // we use a vector here, because the number of *distinct* unknown GUIDs encountered is likely to // be low (e.g. less than 10). - static std::vector > warned; + static std::vector > warned; { SCOPED_LOCK(lock); - for(std::pair &w : warned) + for(rdcpair &w : warned) { if(w.first == riid) { @@ -1619,7 +1619,7 @@ void WarnUnknownGUID(const char *name, REFIID riid) } RDCWARN("Querying %s for interface: %s", name, ToStr(riid).c_str()); - warned.push_back(std::make_pair(riid, 1)); + warned.push_back(make_rdcpair(riid, 1)); } } diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index fb022d8c6..bdf785280 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -1423,7 +1423,7 @@ void WrappedOpenGL::ActivateContext(GLWindowingData winData) struct ReplacementSearch { - bool operator()(const pair &a, ResourceId b) { return a.first < b; } + bool operator()(const rdcpair &a, ResourceId b) { return a.first < b; } }; void WrappedOpenGL::ReplaceResource(ResourceId from, ResourceId to) @@ -1519,7 +1519,7 @@ void WrappedOpenGL::ReplaceResource(ResourceId from, ResourceId to) from, ReplacementSearch()); m_DependentReplacements.insert( insertPos, - std::make_pair(from, Replacement(origsrcid, ProgramRes(GetCtx(), progdst)))); + make_rdcpair(from, Replacement(origsrcid, ProgramRes(GetCtx(), progdst)))); } break; @@ -1576,7 +1576,7 @@ void WrappedOpenGL::ReplaceResource(ResourceId from, ResourceId to) from, ReplacementSearch()); m_DependentReplacements.insert( insertPos, - std::make_pair(from, Replacement(origsrcid, ProgramPipeRes(GetCtx(), pipedst)))); + make_rdcpair(from, Replacement(origsrcid, ProgramPipeRes(GetCtx(), pipedst)))); } } } diff --git a/renderdoc/driver/gl/gl_driver.h b/renderdoc/driver/gl/gl_driver.h index 75445b8c7..5d0e32246 100644 --- a/renderdoc/driver/gl/gl_driver.h +++ b/renderdoc/driver/gl/gl_driver.h @@ -257,7 +257,7 @@ private: std::map m_Buffers; - vector> m_DependentReplacements; + vector> m_DependentReplacements; // this object is only created on old captures where VAO0 was a single global object. In new // captures each context has its own VAO0. diff --git a/renderdoc/driver/gl/gl_replay.h b/renderdoc/driver/gl/gl_replay.h index 51c97be5e..177b5983b 100644 --- a/renderdoc/driver/gl/gl_replay.h +++ b/renderdoc/driver/gl/gl_replay.h @@ -30,8 +30,6 @@ #include "replay/replay_driver.h" #include "gl_common.h" -using std::pair; - class AMDCounters; class IntelGlCounters; class WrappedOpenGL; diff --git a/renderdoc/driver/gl/gl_shader_refl.cpp b/renderdoc/driver/gl/gl_shader_refl.cpp index 9aa7aaeb2..3bcd93825 100644 --- a/renderdoc/driver/gl/gl_shader_refl.cpp +++ b/renderdoc/driver/gl/gl_shader_refl.cpp @@ -2579,7 +2579,7 @@ void EvaluateSPIRVBindpointMapping(GLuint curProg, int shadIdx, const ShaderRefl } // first int - the mapping index, second int - the binding -typedef std::vector > Permutation; +typedef std::vector > Permutation; // copy permutation by value since we mutate it to track the algorithm static void ApplyPermutation(Permutation permutation, std::function DoSwap) @@ -2679,7 +2679,7 @@ void ResortBindings(ShaderReflection *refl, ShaderBindpointMapping *mapping) // sort by the binding struct permutation_sort { - bool operator()(const std::pair &a, const std::pair &b) const + bool operator()(const rdcpair &a, const rdcpair &b) const { return a.second < b.second; } @@ -2687,7 +2687,7 @@ void ResortBindings(ShaderReflection *refl, ShaderBindpointMapping *mapping) permutation.resize(mapping->readOnlyResources.size()); for(size_t i = 0; i < mapping->readOnlyResources.size(); i++) - permutation[i] = std::make_pair(i, mapping->readOnlyResources[i].bind); + permutation[i] = make_rdcpair(i, mapping->readOnlyResources[i].bind); std::sort(permutation.begin(), permutation.end(), permutation_sort()); @@ -2702,7 +2702,7 @@ void ResortBindings(ShaderReflection *refl, ShaderBindpointMapping *mapping) permutation.resize(mapping->readWriteResources.size()); for(size_t i = 0; i < mapping->readWriteResources.size(); i++) - permutation[i] = std::make_pair(i, mapping->readWriteResources[i].bind); + permutation[i] = make_rdcpair(i, mapping->readWriteResources[i].bind); std::sort(permutation.begin(), permutation.end(), permutation_sort()); @@ -2715,7 +2715,7 @@ void ResortBindings(ShaderReflection *refl, ShaderBindpointMapping *mapping) permutation.resize(mapping->constantBlocks.size()); for(size_t i = 0; i < mapping->constantBlocks.size(); i++) - permutation[i] = std::make_pair(i, mapping->constantBlocks[i].bind); + permutation[i] = make_rdcpair(i, mapping->constantBlocks[i].bind); std::sort(permutation.begin(), permutation.end(), permutation_sort()); diff --git a/renderdoc/driver/ihv/intel/intel_counters.cpp b/renderdoc/driver/ihv/intel/intel_counters.cpp index d9363057b..c6cfecd20 100644 --- a/renderdoc/driver/ihv/intel/intel_counters.cpp +++ b/renderdoc/driver/ihv/intel/intel_counters.cpp @@ -197,7 +197,7 @@ std::vector IntelCounters::EnumerateCounters() counterDesc.counter = (GPUCounter)counterId; m_Counters.push_back(counterDesc); addedMetrics.insert(counterDesc.name); - m_metricLocation[(GPUCounter)counterId] = std::pair(j, k); + m_metricLocation[(GPUCounter)counterId] = rdcpair(j, k); m_counterIds.push_back((GPUCounter)counterId); } } @@ -367,8 +367,7 @@ void IntelCounters::EndSample() GPUCounter counterId = m_subscribedMetricsByCounterSet[m_passIndex][i]; uint32_t counterIndex = m_metricLocation[counterId].second; - m_results[std::pair(counterId, m_sampleIndex)] = - m_queryResult[counterIndex]; + m_results[rdcpair(counterId, m_sampleIndex)] = m_queryResult[counterIndex]; } m_sampleIndex++; } @@ -390,7 +389,7 @@ std::vector IntelCounters::GetCounterData(const std::vector(desc.counter, sample)].ValueUInt32; + m_results[rdcpair(desc.counter, sample)].ValueUInt32; if(desc.unit == CounterUnit::Percentage) { value = RDCCLAMP(value, 0U, 100U); @@ -401,7 +400,7 @@ std::vector IntelCounters::GetCounterData(const std::vector(desc.counter, sample)].ValueUInt64; + m_results[rdcpair(desc.counter, sample)].ValueUInt64; if(desc.unit == CounterUnit::Percentage) { @@ -418,11 +417,11 @@ std::vector IntelCounters::GetCounterData(const std::vector(desc.counter, sample)].ValueFloat; + float value = m_results[rdcpair(desc.counter, sample)].ValueFloat; if(desc.unit == CounterUnit::Seconds) { float nanoseconds = - (float)m_results[std::pair(desc.counter, sample)].ValueUInt64; + (float)m_results[rdcpair(desc.counter, sample)].ValueUInt64; value = nanoseconds / 1e9f; } diff --git a/renderdoc/driver/ihv/intel/intel_counters.h b/renderdoc/driver/ihv/intel/intel_counters.h index 61b1c9bf8..4f9589071 100644 --- a/renderdoc/driver/ihv/intel/intel_counters.h +++ b/renderdoc/driver/ihv/intel/intel_counters.h @@ -80,7 +80,7 @@ private: std::vector m_Counters; std::vector m_allMetricSets; std::vector m_subscribedMetricSets; - std::map> m_metricLocation; + std::map> m_metricLocation; std::vector> m_subscribedMetricsByCounterSet; ID3D11Device *m_device; ID3D11DeviceContext *m_deviceContext; @@ -88,7 +88,7 @@ private: std::vector m_queryResult; uint32_t m_passIndex; uint32_t m_sampleIndex; - std::map, TTypedValue_1_0> m_results; + std::map, TTypedValue_1_0> m_results; static HMODULE m_MDLibraryHandle; static IMetricsDevice_1_5 *m_metricsDevice; diff --git a/renderdoc/driver/shaders/dxbc/dxbc_inspect.cpp b/renderdoc/driver/shaders/dxbc/dxbc_inspect.cpp index 81952197d..600d877f9 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_inspect.cpp +++ b/renderdoc/driver/shaders/dxbc/dxbc_inspect.cpp @@ -33,8 +33,6 @@ #include "dxbc_sdbg.h" #include "dxbc_spdb.h" -using std::make_pair; - namespace DXBC { struct RDEFCBufferVariable diff --git a/renderdoc/driver/shaders/dxbc/dxbc_inspect.h b/renderdoc/driver/shaders/dxbc/dxbc_inspect.h index 076db76d7..12af75d8a 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_inspect.h +++ b/renderdoc/driver/shaders/dxbc/dxbc_inspect.h @@ -34,7 +34,6 @@ #include "dxbc_disassemble.h" using std::vector; -using std::pair; // matches D3D11_SHADER_VERSION_TYPE from d3d11shader.h enum D3D11_ShaderType @@ -326,7 +325,7 @@ public: virtual uint32_t GetShaderCompileFlags() const = 0; - vector > Files; // + vector > Files; // virtual void GetLineInfo(size_t instruction, uintptr_t offset, LineColumnInfo &lineInfo) const = 0; diff --git a/renderdoc/driver/shaders/dxbc/dxbc_sdbg.cpp b/renderdoc/driver/shaders/dxbc/dxbc_sdbg.cpp index c467ccaf8..efac8ee06 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_sdbg.cpp +++ b/renderdoc/driver/shaders/dxbc/dxbc_sdbg.cpp @@ -27,8 +27,6 @@ #include "dxbc_sdbg.h" -using std::make_pair; - namespace DXBC { static const uint32_t FOURCC_SDBG = MAKE_FOURCC('S', 'D', 'B', 'G'); @@ -92,7 +90,7 @@ SDBGChunk::SDBGChunk(void *data) std::string source = std::string(asciiDatabase + m_FileHeaders[i].sourceOffset, m_FileHeaders[i].sourceLen); - this->Files.push_back(make_pair(filename, source)); + this->Files.push_back(make_rdcpair(filename, source)); } // successful grab of info diff --git a/renderdoc/driver/shaders/dxbc/dxbc_sdbg.h b/renderdoc/driver/shaders/dxbc/dxbc_sdbg.h index 341b5b71c..b7ff49138 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_sdbg.h +++ b/renderdoc/driver/shaders/dxbc/dxbc_sdbg.h @@ -28,7 +28,6 @@ #include #include using std::vector; -using std::pair; #pragma once diff --git a/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp b/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp index 71e18f2b0..6bfe64177 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp +++ b/renderdoc/driver/shaders/dxbc/dxbc_spdb.cpp @@ -36,8 +36,6 @@ #define SPDBLOG(...) (void)(__VA_ARGS__) #endif -using std::make_pair; - namespace DXBC { static const uint32_t FOURCC_SPDB = MAKE_FOURCC('S', 'P', 'D', 'B'); @@ -171,7 +169,7 @@ SPDBChunk::SPDBChunk(DXBCFile *dxbc, void *chunk) if(filename[0] == 0) filename = "shader"; - Files.push_back(make_pair(filename, (char *)fileContents.Data())); + Files.push_back({filename, (char *)fileContents.Data()}); } } @@ -929,7 +927,7 @@ SPDBChunk::SPDBChunk(DXBCFile *dxbc, void *chunk) } } - Files.push_back(make_pair("@cmdline", cmdlineDefines)); + Files.push_back({"@cmdline", cmdlineDefines}); } key = value + strlen(value) + 1; @@ -1488,7 +1486,7 @@ SPDBChunk::SPDBChunk(DXBCFile *dxbc, void *chunk) // source according to #line if(!name.empty()) { - Files.push_back(make_pair(name, "")); + Files.push_back({name, ""}); FileMapping[chunkOffs] = (int32_t)Files.size() - 1; } @@ -1666,8 +1664,8 @@ SPDBChunk::SPDBChunk(DXBCFile *dxbc, void *chunk) // Sort files according to the order they come in the Names array, this seems to be more reliable // about placing the main file first. - std::sort(Files.begin(), Files.end(), [&Names](const std::pair &a, - const std::pair &b) { + std::sort(Files.begin(), Files.end(), [&Names](const rdcpair &a, + const rdcpair &b) { // any entries that aren't found in Names at all (like @cmdline that we add) will be sorted to // the end. size_t aIdx = ~0U, bIdx = ~0U; diff --git a/renderdoc/driver/shaders/dxbc/dxbc_spdb.h b/renderdoc/driver/shaders/dxbc/dxbc_spdb.h index 3592c2bb1..db2fe38ca 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_spdb.h +++ b/renderdoc/driver/shaders/dxbc/dxbc_spdb.h @@ -33,7 +33,6 @@ #include "dxbc_disassemble.h" using std::vector; -using std::pair; namespace DXBC { diff --git a/renderdoc/driver/shaders/spirv/spirv_common.h b/renderdoc/driver/shaders/spirv/spirv_common.h index e1cef2f6d..0919deb1e 100644 --- a/renderdoc/driver/shaders/spirv/spirv_common.h +++ b/renderdoc/driver/shaders/spirv/spirv_common.h @@ -126,7 +126,7 @@ struct SPVModule uint32_t sourceVer; std::string cmdline; - vector> sourceFiles; + vector> sourceFiles; vector extensions; diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index 82e5d6d74..5d05c68b5 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -32,9 +32,6 @@ #include "strings/string_utils.h" #include "spirv_common.h" -using std::pair; -using std::make_pair; - #undef min #undef max @@ -614,7 +611,7 @@ struct SPVTypeData vector *decorations; // struct/function - vector > children; + vector > children; vector > childDecorations; // matches children // array @@ -1385,7 +1382,7 @@ struct SPVInstruction } else { - const pair &child = arg0type->children[idx]; + const rdcpair &child = arg0type->children[idx]; if(child.second.empty()) accessString += StringFormat::Fmt("._member%u", idx); else @@ -2535,7 +2532,7 @@ std::string SPVModule::Disassemble(const std::string &entryPoint) for(size_t a = 0; a < func->funcType->children.size(); a++) { - const pair &arg = func->funcType->children[a]; + const rdcpair &arg = func->funcType->children[a]; RDCASSERT(a < func->arguments.size()); const SPVInstruction *argname = func->arguments[a]; @@ -2915,7 +2912,7 @@ std::string SPVModule::Disassemble(const std::string &entryPoint) // Branch 123 // Label 123 // that we want to keep, to identify breaks and fallthroughs - vector > switchstack; + vector > switchstack; // find redundant branch/label pairs for(size_t l = 0; l < funcops.size() - 1;) @@ -2923,7 +2920,7 @@ std::string SPVModule::Disassemble(const std::string &entryPoint) if(funcops[l]->opcode == spv::OpSwitch) { RDCASSERT(l > 0 && funcops[l - 1]->opcode == spv::OpSelectionMerge); - switchstack.push_back(std::make_pair(funcops[l - 1]->flow->targets[0], funcops[l]->flow)); + switchstack.push_back(make_rdcpair(funcops[l - 1]->flow->targets[0], funcops[l]->flow)); } if(funcops[l]->opcode == spv::OpLabel) @@ -3409,7 +3406,7 @@ std::string SPVModule::Disassemble(const std::string &entryPoint) indent += tabSize; - switchstack.push_back(std::make_pair(selectionstack.back().id, funcops[o]->flow)); + switchstack.push_back(make_rdcpair(selectionstack.back().id, funcops[o]->flow)); } else { @@ -4982,7 +4979,7 @@ void ParseSPIRV(uint32_t *spirv, size_t spirvLength, SPVModule &module) if(WordCount > 4) { - std::pair sourceFile; + rdcpair sourceFile; SPVInstruction *filenameInst = module.GetByID(spirv[it + 3]); RDCASSERT(filenameInst); @@ -5046,7 +5043,7 @@ void ParseSPIRV(uint32_t *spirv, size_t spirvLength, SPVModule &module) { if(!module.sourceFiles.empty()) { - std::pair &sourceFile = module.sourceFiles.back(); + rdcpair &sourceFile = module.sourceFiles.back(); sourceFile.second += (const char *)&spirv[it + 1]; } @@ -5272,7 +5269,7 @@ void ParseSPIRV(uint32_t *spirv, size_t spirvLength, SPVModule &module) RDCASSERT(memberInst && memberInst->type); // names might come later from OpMemberName instructions - op.type->children.push_back(make_pair(memberInst->type, "")); + op.type->children.push_back({memberInst->type, ""}); op.type->childDecorations.push_back(vector()); } @@ -5354,7 +5351,7 @@ void ParseSPIRV(uint32_t *spirv, size_t spirvLength, SPVModule &module) RDCASSERT(argInst && argInst->type); // function parameters have no name - op.type->children.push_back(make_pair(argInst->type, "")); + op.type->children.push_back({argInst->type, ""}); op.type->childDecorations.push_back(vector()); } diff --git a/renderdoc/driver/shaders/spirv/spirv_editor.h b/renderdoc/driver/shaders/spirv/spirv_editor.h index 37d92466c..50fdbad81 100644 --- a/renderdoc/driver/shaders/spirv/spirv_editor.h +++ b/renderdoc/driver/shaders/spirv/spirv_editor.h @@ -536,7 +536,7 @@ public: SPIRVId id = decl[1] = MakeId(); AddType(decl); - table.insert(it, std::make_pair(t, id)); + table.insert(it, std::pair(t, id)); return id; } diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index df1510a9b..d03570d7f 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -2322,7 +2322,7 @@ ReplayStatus WrappedVulkan::ContextReplayLog(CaptureState readType, uint32_t sta for(size_t i = 0; i < m_CleanupEvents.size(); i++) ObjDisp(GetDev())->DestroyEvent(Unwrap(GetDev()), m_CleanupEvents[i], NULL); - for(const std::pair &rerecord : m_RerecordCmdList) + for(const rdcpair &rerecord : m_RerecordCmdList) vkFreeCommandBuffers(GetDev(), rerecord.first, 1, &rerecord.second); } @@ -3641,14 +3641,14 @@ void WrappedVulkan::AddUsage(VulkanDrawcallTreeNode &drawNode, vector= 0) { int32_t att = sub.depthstencilAttachment; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( c.m_ImageView[fb.attachments[att].view].image, EventUsage(e, ResourceUsage::DepthStencilTarget, fb.attachments[att].view))); } diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index f617fea9f..992a37022 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -102,7 +102,7 @@ struct VulkanDrawcallTreeNode VkIndirectPatchData indirectPatch; - vector> resourceUsage; + vector> resourceUsage; vector executedCmds; @@ -524,7 +524,7 @@ private: int markerCount; - std::vector> resourceUsage; + std::vector> resourceUsage; struct CmdBufferState { @@ -556,7 +556,7 @@ private: } conditionalRendering; } state; - std::vector> imgbarriers; + std::vector> imgbarriers; ResourceId pushDescriptorID[2][64]; @@ -659,7 +659,7 @@ private: // we store the list here, since we need to keep all command buffers until the whole replay is // finished, but if a command buffer is re-recorded multiple times it would be overwritten in the // above map - std::vector> m_RerecordCmdList; + std::vector> m_RerecordCmdList; // There is only a state while currently partially replaying, it's // undefined/empty otherwise. diff --git a/renderdoc/driver/vulkan/vk_counters.cpp b/renderdoc/driver/vulkan/vk_counters.cpp index b934098d7..2c55a30a4 100644 --- a/renderdoc/driver/vulkan/vk_counters.cpp +++ b/renderdoc/driver/vulkan/vk_counters.cpp @@ -265,7 +265,7 @@ struct VulkanAMDDrawCallback : public VulkanDrawcallCallback void AliasEvent(uint32_t primary, uint32_t alias) override { - m_AliasEvents.push_back(std::make_pair(primary, alias)); + m_AliasEvents.push_back(make_rdcpair(primary, alias)); } uint32_t *m_pSampleId; @@ -277,7 +277,7 @@ struct VulkanAMDDrawCallback : public VulkanDrawcallCallback // multiple times in the frame. We will only get the full callback when we're // recording the command buffer, and will be given the first EID. After that // we'll just be told which other EIDs alias this event. - vector > m_AliasEvents; + vector > m_AliasEvents; }; void VulkanReplay::FillTimersAMD(uint32_t *eventStartID, uint32_t *sampleIndex, @@ -428,7 +428,7 @@ struct VulkanGPUTimerCallback : public VulkanDrawcallCallback } void AliasEvent(uint32_t primary, uint32_t alias) override { - m_AliasEvents.push_back(std::make_pair(primary, alias)); + m_AliasEvents.push_back(make_rdcpair(primary, alias)); } void PreEndCommandBuffer(VkCommandBuffer cmd) override {} @@ -442,7 +442,7 @@ struct VulkanGPUTimerCallback : public VulkanDrawcallCallback // multiple times in the frame. We will only get the full callback when we're // recording the command buffer, and will be given the first EID. After that // we'll just be told which other EIDs alias this event. - vector > m_AliasEvents; + vector > m_AliasEvents; }; vector VulkanReplay::FetchCounters(const vector &counters) diff --git a/renderdoc/driver/vulkan/vk_manager.cpp b/renderdoc/driver/vulkan/vk_manager.cpp index e2fdaef1f..d06f4a661 100644 --- a/renderdoc/driver/vulkan/vk_manager.cpp +++ b/renderdoc/driver/vulkan/vk_manager.cpp @@ -33,7 +33,7 @@ #endif template -void VulkanResourceManager::RecordSingleBarrier(vector > &dststates, +void VulkanResourceManager::RecordSingleBarrier(vector > &dststates, ResourceId id, const SrcBarrierType &t, uint32_t nummips, uint32_t numslices) { @@ -115,7 +115,7 @@ void VulkanResourceManager::RecordSingleBarrier(vectorsecond.subresourceRange.levelCount > 1 || it->second.subresourceRange.layerCount > 1) { - pair existing = *it; + rdcpair existing = *it; // remember where we were in the array, as after this iterators will be // invalidated. @@ -180,11 +180,11 @@ void VulkanResourceManager::RecordSingleBarrier(vector > &states, +void VulkanResourceManager::RecordBarriers(vector > &states, const std::map &layouts, uint32_t numBarriers, const VkImageMemoryBarrier *barriers) { @@ -229,8 +229,8 @@ void VulkanResourceManager::RecordBarriers(vector > &dststates, - vector > &srcstates) +void VulkanResourceManager::MergeBarriers(vector > &dststates, + vector > &srcstates) { TRDBG("Merging %u states", (uint32_t)srcstates.size()); @@ -253,7 +253,7 @@ void VulkanResourceManager::SerialiseImageStates(SerialiserType &ser, auto srcit = states.begin(); - std::vector > vec; + std::vector > vec; for(uint32_t i = 0; i < NumImages; i++) { @@ -294,7 +294,7 @@ void VulkanResourceManager::SerialiseImageStates(SerialiserType &ser, state.newLayout = VK_IMAGE_LAYOUT_GENERAL; t.subresourceRange = state.subresourceRange; barriers.push_back(t); - vec.push_back(std::make_pair(liveid, state)); + vec.push_back(make_rdcpair(liveid, state)); } } @@ -386,7 +386,7 @@ bool VulkanResourceManager::Serialise_DeviceMemoryRefs(SerialiserType &ser, { ResourceId mem = it_data->memory; - auto res = m_MemFrameRefs.insert(std::make_pair(mem, MemRefs())); + auto res = m_MemFrameRefs.insert(std::pair(mem, MemRefs())); RDCASSERTMSG("MemRefIntervals for each memory resource must be contigous", res.second); Intervals &rangeRefs = res.first->second.rangeRefs; @@ -466,7 +466,7 @@ void VulkanResourceManager::SetInternalResource(ResourceId id) } void VulkanResourceManager::ApplyBarriers(uint32_t queueFamilyIndex, - vector > &states, + vector > &states, std::map &layouts) { TRDBG("Applying %u barriers", (uint32_t)states.size()); diff --git a/renderdoc/driver/vulkan/vk_manager.h b/renderdoc/driver/vulkan/vk_manager.h index 62266d710..05358555b 100644 --- a/renderdoc/driver/vulkan/vk_manager.h +++ b/renderdoc/driver/vulkan/vk_manager.h @@ -29,8 +29,6 @@ #include "core/resource_manager.h" #include "vk_resources.h" -using std::pair; - class WrappedVulkan; struct MemIDOffset @@ -254,17 +252,18 @@ public: // handling memory & image layouts template - void RecordSingleBarrier(vector > &states, ResourceId id, + void RecordSingleBarrier(vector > &states, ResourceId id, const SrcBarrierType &t, uint32_t nummips, uint32_t numslices); - void RecordBarriers(vector > &states, + void RecordBarriers(vector > &states, const std::map &layouts, uint32_t numBarriers, const VkImageMemoryBarrier *barriers); - void MergeBarriers(vector > &dststates, - vector > &srcstates); + void MergeBarriers(vector > &dststates, + vector > &srcstates); - void ApplyBarriers(uint32_t queueFamilyIndex, vector > &states, + void ApplyBarriers(uint32_t queueFamilyIndex, + vector > &states, std::map &layouts); template diff --git a/renderdoc/driver/vulkan/vk_overlay.cpp b/renderdoc/driver/vulkan/vk_overlay.cpp index 08338f7c6..12ffbe9ee 100644 --- a/renderdoc/driver/vulkan/vk_overlay.cpp +++ b/renderdoc/driver/vulkan/vk_overlay.cpp @@ -65,7 +65,7 @@ struct VulkanQuadOverdrawCallback : public VulkanDrawcallCallback VulkanRenderState &pipestate = m_pDriver->GetRenderState(); // check cache first - pair pipe = m_PipelineCache[pipestate.graphics.pipeline]; + rdcpair pipe = m_PipelineCache[pipestate.graphics.pipeline]; // if we don't get a hit, create a modified pipeline if(pipe.second == VK_NULL_HANDLE) @@ -266,7 +266,7 @@ struct VulkanQuadOverdrawCallback : public VulkanDrawcallCallback const vector &m_Events; // cache modified pipelines - std::map > m_PipelineCache; + std::map > m_PipelineCache; VulkanRenderState m_PrevState; }; @@ -2144,7 +2144,7 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu pipeCreateInfo.pVertexInputState = &vi; pipeCreateInfo.pColorBlendState = &cb; - typedef std::pair PipeKey; + typedef rdcpair PipeKey; std::map pipes; @@ -2186,7 +2186,7 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu binds[0].stride = binds[1].stride = fmt.vertexByteStride; - PipeKey key = std::make_pair(fmt.vertexByteStride, fmt.topology); + PipeKey key = make_rdcpair(fmt.vertexByteStride, fmt.topology); VkPipeline pipe = pipes[key]; if(pipe == VK_NULL_HANDLE) diff --git a/renderdoc/driver/vulkan/vk_resources.cpp b/renderdoc/driver/vulkan/vk_resources.cpp index 8c2a50cc2..0859dadb5 100644 --- a/renderdoc/driver/vulkan/vk_resources.cpp +++ b/renderdoc/driver/vulkan/vk_resources.cpp @@ -3096,7 +3096,7 @@ void ResourceInfo::Update(uint32_t numBindings, const VkSparseImageMemoryBind *p // VKTODOMED handle sparse image arrays or sparse images with mips RDCASSERT(newBind.subresource.arrayLayer == 0 && newBind.subresource.mipLevel == 0); - pair *pageTable = pages[newBind.subresource.aspectMask]; + rdcpair *pageTable = pages[newBind.subresource.aspectMask]; VkOffset3D offsInPages = newBind.offset; offsInPages.x /= pagedim.width; @@ -3108,7 +3108,8 @@ void ResourceInfo::Update(uint32_t numBindings, const VkSparseImageMemoryBind *p extInPages.height /= pagedim.height; extInPages.depth /= pagedim.depth; - pair mempair = std::make_pair(newBind.memory, newBind.memoryOffset); + rdcpair mempair = + make_rdcpair(newBind.memory, newBind.memoryOffset); for(uint32_t z = offsInPages.z; z < offsInPages.z + extInPages.depth; z++) { @@ -3823,7 +3824,7 @@ TEST_CASE("Vulkan formats", "[format][vulkan]") { const uint32_t width = 24, height = 24; - std::vector > > tests = { + std::vector > > tests = { {VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, {576, 144, 144}}, {VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, {576, 288}}, {VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, {576, 288, 288}}, @@ -3846,7 +3847,7 @@ TEST_CASE("Vulkan formats", "[format][vulkan]") {VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, {1152, 1152, 1152}}, }; - for(std::pair > e : tests) + for(rdcpair > e : tests) { INFO("Format is " << ToStr(e.first)); for(uint32_t p = 0; p < e.second.size(); p++) diff --git a/renderdoc/driver/vulkan/vk_resources.h b/renderdoc/driver/vulkan/vk_resources.h index b60ca5c7c..68aeb3374 100644 --- a/renderdoc/driver/vulkan/vk_resources.h +++ b/renderdoc/driver/vulkan/vk_resources.h @@ -900,7 +900,7 @@ struct ResourceInfo VkExtent3D pagedim; // pagetable per image aspect (some may be NULL) color, depth, stencil, metadata // in order of width first, then height, then depth - pair *pages[NUM_VK_IMAGE_ASPECTS]; + rdcpair *pages[NUM_VK_IMAGE_ASPECTS]; bool IsSparse() const { return pages[0] != NULL; } void Update(uint32_t numBindings, const VkSparseMemoryBind *pBindings); @@ -917,7 +917,7 @@ struct CmdBufferRecordingInfo VkResourceRecord *framebuffer = NULL; VkResourceRecord *allocRecord = NULL; - vector > imgbarriers; + vector > imgbarriers; // sparse resources referenced by this command buffer (at submit time // need to go through the sparse mapping and reference all memory) @@ -966,7 +966,7 @@ struct DescriptorSetData // the refcount has the high-bit set if this resource has sparse // mapping information static const uint32_t SPARSE_REF_BIT = 0x80000000; - std::map > bindFrameRefs; + std::map > bindFrameRefs; std::map bindMemRefs; }; @@ -1064,7 +1064,7 @@ FrameRefType MarkMemoryReferenced(std::map &memRefs, Resour auto refs = memRefs.find(mem); if(refs == memRefs.end()) { - memRefs.insert(std::make_pair(mem, MemRefs(offset, size, refType))); + memRefs.insert(std::pair(mem, MemRefs(offset, size, refType))); return refType; } else @@ -1123,7 +1123,7 @@ public: RDCERR("Unexpected NULL resource ID being added as a bind frame ref"); return; } - pair &p = descInfo->bindFrameRefs[id]; + rdcpair &p = descInfo->bindFrameRefs[id]; if((p.first & ~DescriptorSetData::SPARSE_REF_BIT) == 0) { p.second = ref; @@ -1145,7 +1145,7 @@ public: RDCERR("Unexpected NULL resource ID being added as a bind frame ref"); return; } - pair &p = descInfo->bindFrameRefs[mem]; + rdcpair &p = descInfo->bindFrameRefs[mem]; if((p.first & ~DescriptorSetData::SPARSE_REF_BIT) == 0) { descInfo->bindMemRefs.erase(mem); diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index d879b992f..bc3a48eba 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -960,7 +960,7 @@ bool WrappedVulkan::Serialise_vkEndCommandBuffer(SerialiserType &ser, VkCommandB // subpass uint32_t &sub = m_BakedCmdBufferInfo[m_LastCmdBufferID].state.subpass; - std::vector > imgbarriers; + std::vector > imgbarriers; for(sub = m_RenderState.subpass; sub < numSubpasses - 1; sub++) { @@ -2545,7 +2545,7 @@ bool WrappedVulkan::Serialise_vkCmdPipelineBarrier( if(IsLoading(m_State)) { - m_BakedCmdBufferInfo[m_LastCmdBufferID].resourceUsage.push_back(std::make_pair( + m_BakedCmdBufferInfo[m_LastCmdBufferID].resourceUsage.push_back(make_rdcpair( GetResID(pBufferMemoryBarriers[i].buffer), EventUsage(m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID, ResourceUsage::Barrier))); } @@ -2566,7 +2566,7 @@ bool WrappedVulkan::Serialise_vkCmdPipelineBarrier( if(IsLoading(m_State)) { - m_BakedCmdBufferInfo[m_LastCmdBufferID].resourceUsage.push_back(std::make_pair( + m_BakedCmdBufferInfo[m_LastCmdBufferID].resourceUsage.push_back(make_rdcpair( GetResID(pImageMemoryBarriers[i].image), EventUsage(m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID, ResourceUsage::Barrier))); } @@ -3977,9 +3977,9 @@ void WrappedVulkan::vkCmdPushDescriptorSetWithTemplateKHR( // since it's relatively expensive to walk the memory, we gather frame references at the same time // as unwrapping - std::vector > frameRefs; - std::vector > bufViewFrameRefs; - std::vector > bufFrameRefs; + std::vector > frameRefs; + std::vector > bufViewFrameRefs; + std::vector > bufFrameRefs; { DescUpdateTemplate *tempInfo = GetRecord(descriptorUpdateTemplate)->descTemplateInfo; @@ -4004,7 +4004,7 @@ void WrappedVulkan::vkCmdPushDescriptorSetWithTemplateKHR( VkBufferView *bufView = (VkBufferView *)dst; - bufViewFrameRefs.push_back(std::make_pair(*bufView, ref)); + bufViewFrameRefs.push_back(make_rdcpair(*bufView, ref)); *bufView = Unwrap(*bufView); } @@ -4030,14 +4030,14 @@ void WrappedVulkan::vkCmdPushDescriptorSetWithTemplateKHR( if(hasSampler) { - frameRefs.push_back(std::make_pair(GetResID(info->sampler), eFrameRef_Read)); + frameRefs.push_back(make_rdcpair(GetResID(info->sampler), eFrameRef_Read)); info->sampler = Unwrap(info->sampler); } if(hasImage) { - frameRefs.push_back(std::make_pair(GetResID(info->imageView), eFrameRef_Read)); + frameRefs.push_back(make_rdcpair(GetResID(info->imageView), eFrameRef_Read)); if(GetRecord(info->imageView)->baseResource != ResourceId()) - frameRefs.push_back(std::make_pair(GetRecord(info->imageView)->baseResource, ref)); + frameRefs.push_back(make_rdcpair(GetRecord(info->imageView)->baseResource, ref)); info->imageView = Unwrap(info->imageView); } } @@ -4050,7 +4050,7 @@ void WrappedVulkan::vkCmdPushDescriptorSetWithTemplateKHR( VkDescriptorBufferInfo *info = (VkDescriptorBufferInfo *)dst; - bufFrameRefs.push_back(std::make_pair(*info, ref)); + bufFrameRefs.push_back(make_rdcpair(*info, ref)); info->buffer = Unwrap(info->buffer); } diff --git a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp index 00b2bfb87..94b0e9097 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_draw_funcs.cpp @@ -646,7 +646,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); return true; @@ -669,7 +669,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirect(SerialiserType &ser, VkCommandBu drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); if(count > 0) @@ -1025,7 +1025,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser, drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); return true; @@ -1049,7 +1049,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirect(SerialiserType &ser, drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); if(count > 0) @@ -1263,7 +1263,7 @@ bool WrappedVulkan::Serialise_vkCmdDispatchIndirect(SerialiserType &ser, drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); } } @@ -1369,14 +1369,14 @@ bool WrappedVulkan::Serialise_vkCmdBlitImage(SerialiserType &ser, VkCommandBuffe if(srcImage == destImage) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::Resolve))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveSrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(destImage), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveSrc))); } } @@ -1493,14 +1493,14 @@ bool WrappedVulkan::Serialise_vkCmdResolveImage(SerialiserType &ser, VkCommandBu if(srcImage == destImage) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::Resolve))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveSrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(destImage), EventUsage(drawNode.draw.eventId, ResourceUsage::ResolveDst))); } } @@ -1617,14 +1617,14 @@ bool WrappedVulkan::Serialise_vkCmdCopyImage(SerialiserType &ser, VkCommandBuffe if(srcImage == destImage) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(destImage), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -1735,9 +1735,9 @@ bool WrappedVulkan::Serialise_vkCmdCopyBufferToImage( VulkanDrawcallTreeNode &drawNode = GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(destImage), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -1843,9 +1843,9 @@ bool WrappedVulkan::Serialise_vkCmdCopyImageToBuffer(SerialiserType &ser, VulkanDrawcallTreeNode &drawNode = GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcImage), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(destBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -1950,14 +1950,14 @@ bool WrappedVulkan::Serialise_vkCmdCopyBuffer(SerialiserType &ser, VkCommandBuff if(srcBuffer == destBuffer) { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Copy))); } else { - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(srcBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopySrc))); - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(destBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::CopyDst))); } } @@ -2065,8 +2065,8 @@ bool WrappedVulkan::Serialise_vkCmdClearColorImage(SerialiserType &ser, VkComman VulkanDrawcallTreeNode &drawNode = GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( - GetResID(image), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); + drawNode.resourceUsage.push_back( + make_rdcpair(GetResID(image), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); } } } @@ -2169,8 +2169,8 @@ bool WrappedVulkan::Serialise_vkCmdClearDepthStencilImage( VulkanDrawcallTreeNode &drawNode = GetDrawcallStack().back()->children.back(); - drawNode.resourceUsage.push_back(std::make_pair( - GetResID(image), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); + drawNode.resourceUsage.push_back( + make_rdcpair(GetResID(image), EventUsage(drawNode.draw.eventId, ResourceUsage::Clear))); } } } @@ -2306,9 +2306,9 @@ bool WrappedVulkan::Serialise_vkCmdClearAttachments(SerialiserType &ser, { att = rp.subpasses[state.subpass].colorAttachments[att]; drawNode.resourceUsage.push_back( - std::make_pair(m_CreationInfo.m_ImageView[fb.attachments[att].view].image, - EventUsage(drawNode.draw.eventId, ResourceUsage::Clear, - fb.attachments[att].view))); + make_rdcpair(m_CreationInfo.m_ImageView[fb.attachments[att].view].image, + EventUsage(drawNode.draw.eventId, ResourceUsage::Clear, + fb.attachments[att].view))); } } else if(pAttachments[a].aspectMask & VK_IMAGE_ASPECT_DEPTH_BIT) @@ -2317,9 +2317,9 @@ bool WrappedVulkan::Serialise_vkCmdClearAttachments(SerialiserType &ser, { att = (uint32_t)rp.subpasses[state.subpass].depthstencilAttachment; drawNode.resourceUsage.push_back( - std::make_pair(m_CreationInfo.m_ImageView[fb.attachments[att].view].image, - EventUsage(drawNode.draw.eventId, ResourceUsage::Clear, - fb.attachments[att].view))); + make_rdcpair(m_CreationInfo.m_ImageView[fb.attachments[att].view].image, + EventUsage(drawNode.draw.eventId, ResourceUsage::Clear, + fb.attachments[att].view))); } } } @@ -2690,7 +2690,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirectCountKHR( drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID++; @@ -3004,7 +3004,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndexedIndirectCountKHR( drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(buffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID++; @@ -3164,7 +3164,7 @@ bool WrappedVulkan::Serialise_vkCmdDrawIndirectByteCountEXT( drawNode.indirectPatch = indirectPatch; - drawNode.resourceUsage.push_back(std::make_pair( + drawNode.resourceUsage.push_back(make_rdcpair( GetResID(counterBuffer), EventUsage(drawNode.draw.eventId, ResourceUsage::Indirect))); return true; diff --git a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp index 1b3b65551..fb15e6474 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp @@ -822,7 +822,7 @@ VkResult WrappedVulkan::vkQueueSubmit(VkQueue queue, uint32_t submitCount, SCOPED_LOCK(setrecord->descInfo->refLock); - const std::map> &frameRefs = + const std::map> &frameRefs = setrecord->descInfo->bindFrameRefs; for(auto refit = frameRefs.begin(); refit != frameRefs.end(); ++refit) diff --git a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp index b5bfa6e97..b18992216 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp @@ -1725,7 +1725,7 @@ VkResult WrappedVulkan::vkCreateImage(VkDevice device, const VkImageCreateInfo * break; } - record->resInfo->pages[a] = new pair[numpages]; + record->resInfo->pages[a] = new rdcpair[numpages]; } } else diff --git a/renderdoc/replay/capture_file.cpp b/renderdoc/replay/capture_file.cpp index e2a183095..02e8a6cf6 100644 --- a/renderdoc/replay/capture_file.cpp +++ b/renderdoc/replay/capture_file.cpp @@ -355,7 +355,7 @@ void CaptureFile::InitStructuredData(RENDERDOC_ProgressCallback progress /*= REN rdcpair CaptureFile::OpenCapture(RENDERDOC_ProgressCallback progress) { if(!m_RDC || m_RDC->ErrorCode() != ContainerError::NoError) - return make_rdcpair(ReplayStatus::InternalError, NULL); + return rdcpair(ReplayStatus::InternalError, NULL); ReplayController *render = new ReplayController(); ReplayStatus ret; @@ -369,7 +369,7 @@ rdcpair CaptureFile::OpenCapture(RENDERDOC_Pr if(ret != ReplayStatus::Succeeded) SAFE_DELETE(render); - return make_rdcpair(ret, render); + return rdcpair(ret, render); } void CaptureFile::SetMetadata(const char *driverName, uint64_t machineIdent, FileType thumbType, diff --git a/renderdoc/replay/replay_controller.cpp b/renderdoc/replay/replay_controller.cpp index f94cbb141..c817c0582 100644 --- a/renderdoc/replay/replay_controller.cpp +++ b/renderdoc/replay/replay_controller.cpp @@ -1924,7 +1924,7 @@ rdcpair ReplayController::BuildTargetShader( rdcarray encodings = m_pDevice->GetTargetShaderEncodings(); if(encodings.indexOf(sourceEncoding) == -1) - return make_rdcpair( + return rdcpair( ResourceId(), StringFormat::Fmt("Shader Encoding '%s' is not supported", ToStr(sourceEncoding).c_str())); @@ -1947,7 +1947,7 @@ rdcpair ReplayController::BuildTargetShader( if(id != ResourceId()) m_TargetResources.insert(id); - return make_rdcpair(id, errs); + return rdcpair(id, errs); } rdcpair ReplayController::BuildCustomShader( @@ -1974,7 +1974,7 @@ rdcpair ReplayController::BuildCustomShader( if(id != ResourceId()) m_CustomShaders.insert(id); - return make_rdcpair(id, errs); + return rdcpair(id, errs); } void ReplayController::FreeTargetResource(ResourceId id) diff --git a/renderdoc/replay/replay_output.cpp b/renderdoc/replay/replay_output.cpp index a26fcfc73..3186e1935 100644 --- a/renderdoc/replay/replay_output.cpp +++ b/renderdoc/replay/replay_output.cpp @@ -458,7 +458,7 @@ rdcpair ReplayOutput::PickVertex(uint32_t eventId, uint32_t DrawcallDescription *draw = m_pRenderer->GetDrawcallByEID(eventId); - const rdcpair errorReturn = make_rdcpair(~0U, ~0U); + const rdcpair errorReturn = {~0U, ~0U}; if(!draw) return errorReturn; diff --git a/renderdoc/serialise/serialiser.h b/renderdoc/serialise/serialiser.h index 00e51d580..f94076688 100644 --- a/renderdoc/serialise/serialiser.h +++ b/renderdoc/serialise/serialiser.h @@ -879,71 +879,6 @@ public: return *this; } - template - Serialiser &Serialise(const rdcliteral &name, std::pair &el, - SerialiserFlags flags = SerialiserFlags::NoFlags) - { - if(ExportStructure()) - { - if(m_StructureStack.empty()) - { - RDCERR("Serialising object outside of chunk context! Start Chunk before any Serialise!"); - return *this; - } - - SDObject &parent = *m_StructureStack.back(); - parent.data.basic.numChildren++; - parent.data.children.push_back(new SDObject(name, "pair"_lit)); - m_StructureStack.push_back(parent.data.children.back()); - - SDObject &arr = *m_StructureStack.back(); - arr.type.basetype = SDBasic::Struct; - arr.type.byteSize = 2; - - arr.data.basic.numChildren = 2; - arr.data.children.resize(2); - - { - arr.data.children[0] = new SDObject("first"_lit, TypeName()); - m_StructureStack.push_back(arr.data.children[0]); - - SDObject &obj = *m_StructureStack.back(); - - // default to struct. This will be overwritten if appropriate - obj.type.basetype = SDBasic::Struct; - obj.type.byteSize = sizeof(U); - - SerialiseDispatch::Do(*this, el.first); - - m_StructureStack.pop_back(); - } - - { - arr.data.children[1] = new SDObject("second"_lit, TypeName()); - m_StructureStack.push_back(arr.data.children[1]); - - SDObject &obj = *m_StructureStack.back(); - - // default to struct. This will be overwritten if appropriate - obj.type.basetype = SDBasic::Struct; - obj.type.byteSize = sizeof(V); - - SerialiseDispatch::Do(*this, el.second); - - m_StructureStack.pop_back(); - } - - m_StructureStack.pop_back(); - } - else - { - SerialiseDispatch::Do(*this, el.first); - SerialiseDispatch::Do(*this, el.second); - } - - return *this; - } - template Serialiser &Serialise(const rdcliteral &name, rdcarray &el, SerialiserFlags flags = SerialiserFlags::NoFlags) diff --git a/renderdoc/serialise/serialiser_tests.cpp b/renderdoc/serialise/serialiser_tests.cpp index 7e44448c7..453e32e18 100644 --- a/renderdoc/serialise/serialiser_tests.cpp +++ b/renderdoc/serialise/serialiser_tests.cpp @@ -733,7 +733,7 @@ TEST_CASE("Read/write container types", "[serialiser][structured]") SCOPED_SERIALISE_CHUNK(5); std::vector v; - std::pair p; + rdcpair p; std::list l; v.push_back(1); @@ -743,7 +743,7 @@ TEST_CASE("Read/write container types", "[serialiser][structured]") v.push_back(5); v.push_back(8); - p = std::make_pair(3.14159f, "M_PI"); + p = {3.14159f, "M_PI"}; l.push_back(2U); l.push_back(3U); @@ -770,7 +770,7 @@ TEST_CASE("Read/write container types", "[serialiser][structured]") CHECK(chunkID == 5); std::vector v; - std::pair p; + rdcpair p; std::list l; SERIALISE_ELEMENT(v); @@ -819,7 +819,7 @@ TEST_CASE("Read/write container types", "[serialiser][structured]") ser.ReadChunk(); { std::vector v; - std::pair p; + rdcpair p; std::list l; SERIALISE_ELEMENT(v); diff --git a/renderdoccmd/renderdoccmd.cpp b/renderdoccmd/renderdoccmd.cpp index 2b3dae5bc..774eca1da 100644 --- a/renderdoccmd/renderdoccmd.cpp +++ b/renderdoccmd/renderdoccmd.cpp @@ -572,7 +572,7 @@ struct ReplayCommand : public Command rdcstr remotePath = remote->CopyCaptureToRemote(filename.c_str(), NULL); IReplayController *renderer = NULL; - std::tie(status, renderer) = remote->OpenCapture(~0U, remotePath.c_str(), NULL); + rdctie(status, renderer) = remote->OpenCapture(~0U, remotePath.c_str(), NULL); if(status == ReplayStatus::Succeeded) { @@ -602,7 +602,7 @@ struct ReplayCommand : public Command IReplayController *renderer = NULL; ReplayStatus status = ReplayStatus::InternalError; - std::tie(status, renderer) = file->OpenCapture(NULL); + rdctie(status, renderer) = file->OpenCapture(NULL); file->Shutdown();