diff --git a/renderdoc/driver/d3d11/d3d11_context.cpp b/renderdoc/driver/d3d11/d3d11_context.cpp index 69ec0235f..17ce14c9b 100644 --- a/renderdoc/driver/d3d11/d3d11_context.cpp +++ b/renderdoc/driver/d3d11/d3d11_context.cpp @@ -1030,12 +1030,12 @@ void WrappedID3D11DeviceContext::AddEvent(string description) m_Events.push_back(apievent); } -APIEvent WrappedID3D11DeviceContext::GetEvent(uint32_t eventID) +const APIEvent &WrappedID3D11DeviceContext::GetEvent(uint32_t eventID) { - for(size_t i = m_Events.size() - 1; i > 0; i--) + for(const APIEvent &e : m_Events) { - if(m_Events[i].eventID <= eventID) - return m_Events[i]; + if(e.eventID >= eventID) + return e; } return m_Events[0]; diff --git a/renderdoc/driver/d3d11/d3d11_context.h b/renderdoc/driver/d3d11/d3d11_context.h index 2d6b0386c..d88577e92 100644 --- a/renderdoc/driver/d3d11/d3d11_context.h +++ b/renderdoc/driver/d3d11/d3d11_context.h @@ -316,7 +316,7 @@ public: void ClearMaps(); uint32_t GetEventID() { return m_CurEventID; } - APIEvent GetEvent(uint32_t eventID); + const APIEvent &GetEvent(uint32_t eventID); const DrawcallTreeNode &GetRootDraw() { return m_ParentDrawcall; } void ThreadSafe_SetMarker(uint32_t col, const wchar_t *name); diff --git a/renderdoc/driver/d3d12/d3d12_command_queue.h b/renderdoc/driver/d3d12/d3d12_command_queue.h index adcd8f301..538a81246 100644 --- a/renderdoc/driver/d3d12/d3d12_command_queue.h +++ b/renderdoc/driver/d3d12/d3d12_command_queue.h @@ -118,7 +118,7 @@ public: WrappedID3D12Device *GetWrappedDevice() { return m_pDevice; } const vector &GetCmdLists() { return m_CmdListRecords; } D3D12DrawcallTreeNode &GetParentDrawcall() { return m_Cmd.m_ParentDrawcall; } - APIEvent GetEvent(uint32_t eventID); + const APIEvent &GetEvent(uint32_t eventID); uint32_t GetMaxEID() { return m_Cmd.m_Events.back().eventID; } ResourceId GetBackbufferResourceID() { return m_BackbufferID; } void ClearAfterCapture(); diff --git a/renderdoc/driver/d3d12/d3d12_commands.cpp b/renderdoc/driver/d3d12/d3d12_commands.cpp index 42a5fc299..e23ec5815 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.cpp +++ b/renderdoc/driver/d3d12/d3d12_commands.cpp @@ -254,12 +254,12 @@ void WrappedID3D12CommandQueue::ClearAfterCapture() m_QueueRecord->DeleteChunks(); } -APIEvent WrappedID3D12CommandQueue::GetEvent(uint32_t eventID) +const APIEvent &WrappedID3D12CommandQueue::GetEvent(uint32_t eventID) { - for(size_t i = m_Cmd.m_Events.size() - 1; i > 0; i--) + for(const APIEvent &e : m_Cmd.m_Events) { - if(m_Cmd.m_Events[i].eventID <= eventID) - return m_Cmd.m_Events[i]; + if(e.eventID >= eventID) + return e; } return m_Cmd.m_Events[0]; diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 3254e9f4e..369ba1eb5 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -4462,12 +4462,12 @@ void WrappedOpenGL::AddEvent(string description) m_Events.push_back(apievent); } -APIEvent WrappedOpenGL::GetEvent(uint32_t eventID) +const APIEvent &WrappedOpenGL::GetEvent(uint32_t eventID) { - for(size_t i = m_Events.size() - 1; i > 0; i--) + for(const APIEvent &e : m_Events) { - if(m_Events[i].eventID <= eventID) - return m_Events[i]; + if(e.eventID >= eventID) + return e; } return m_Events[0]; diff --git a/renderdoc/driver/gl/gl_driver.h b/renderdoc/driver/gl/gl_driver.h index 4ac92f760..3bcd70ae9 100644 --- a/renderdoc/driver/gl/gl_driver.h +++ b/renderdoc/driver/gl/gl_driver.h @@ -574,7 +574,7 @@ public: GLuint GetFakeBBFBO() { return m_FakeBB_FBO; } GLuint GetFakeVAO() { return m_FakeVAO; } FrameRecord &GetFrameRecord() { return m_FrameRecord; } - APIEvent GetEvent(uint32_t eventID); + const APIEvent &GetEvent(uint32_t eventID); const DrawcallTreeNode &GetRootDraw() { return m_ParentDrawcall; } const DrawcallDescription *GetDrawcall(uint32_t eventID); diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 52d3563e5..b8f9b466d 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -3108,12 +3108,12 @@ void WrappedVulkan::AddEvent(string description) m_EventMessages.clear(); } -APIEvent WrappedVulkan::GetEvent(uint32_t eventID) +const APIEvent &WrappedVulkan::GetEvent(uint32_t eventID) { - for(size_t i = m_Events.size() - 1; i > 0; i--) + for(const APIEvent &e : m_Events) { - if(m_Events[i].eventID <= eventID) - return m_Events[i]; + if(e.eventID >= eventID) + return e; } return m_Events[0]; diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index e6ffe2bde..d75cffaf7 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -724,7 +724,7 @@ public: void ReadLogInitialisation(); FrameRecord &GetFrameRecord() { return m_FrameRecord; } - APIEvent GetEvent(uint32_t eventID); + const APIEvent &GetEvent(uint32_t eventID); uint32_t GetMaxEID() { return m_Events.back().eventID; } const DrawcallDescription *GetDrawcall(uint32_t eventID);