From dbfa3cdc4d4e3678a1835d9040b1dd899656f9ee Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 20 Feb 2018 10:02:40 +0000 Subject: [PATCH] Remove DrawFlags::SetMarker from API Calls events * This made them behave inconsistently and was not really necessary anyway. --- qrenderdoc/Code/CaptureContext.cpp | 4 ++-- qrenderdoc/Windows/TimelineBar.cpp | 2 +- renderdoc/driver/d3d11/d3d11_context_wrap.cpp | 2 +- renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp | 4 ++-- renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp | 2 +- renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp | 4 ++-- renderdoc/replay/replay_driver.cpp | 5 ++--- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/qrenderdoc/Code/CaptureContext.cpp b/qrenderdoc/Code/CaptureContext.cpp index 62c4acbe9..694236fb0 100644 --- a/qrenderdoc/Code/CaptureContext.cpp +++ b/qrenderdoc/Code/CaptureContext.cpp @@ -501,8 +501,8 @@ void CaptureContext::AddFakeProfileMarkers() int start = 0; int refdraw = 0; - DrawFlags drawFlags = - DrawFlags::Copy | DrawFlags::Resolve | DrawFlags::SetMarker | DrawFlags::CmdList; + DrawFlags drawFlags = DrawFlags::Copy | DrawFlags::Resolve | DrawFlags::SetMarker | + DrawFlags::APICalls | DrawFlags::CmdList; for(int32_t i = 1; i < draws.count(); i++) { diff --git a/qrenderdoc/Windows/TimelineBar.cpp b/qrenderdoc/Windows/TimelineBar.cpp index 2e0b5f223..14090af42 100644 --- a/qrenderdoc/Windows/TimelineBar.cpp +++ b/qrenderdoc/Windows/TimelineBar.cpp @@ -1022,7 +1022,7 @@ uint32_t TimelineBar::processDraws(QVector &markers, QVector & } else { - if((d.flags & (DrawFlags::SetMarker | DrawFlags::APICalls)) != DrawFlags::SetMarker) + if(!(d.flags & DrawFlags::SetMarker)) { m_Draws.push_back(d.eventId); draws.push_back(d.eventId); diff --git a/renderdoc/driver/d3d11/d3d11_context_wrap.cpp b/renderdoc/driver/d3d11/d3d11_context_wrap.cpp index 30b3385a8..96c095085 100644 --- a/renderdoc/driver/d3d11/d3d11_context_wrap.cpp +++ b/renderdoc/driver/d3d11/d3d11_context_wrap.cpp @@ -127,7 +127,7 @@ bool WrappedID3D11DeviceContext::Serialise_PopMarker(SerialiserType &ser) { DrawcallDescription draw; draw.name = "API Calls"; - draw.flags |= DrawFlags::SetMarker | DrawFlags::APICalls; + draw.flags |= DrawFlags::APICalls; AddEvent(); AddDrawcall(draw, true); diff --git a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp index 67009b0d9..94928480f 100644 --- a/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp +++ b/renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp @@ -96,7 +96,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_Close(SerialiserType &ser) { DrawcallDescription draw; draw.name = "API Calls"; - draw.flags |= DrawFlags::SetMarker | DrawFlags::APICalls; + draw.flags |= DrawFlags::APICalls; m_Cmd->AddDrawcall(draw, true); @@ -3037,7 +3037,7 @@ bool WrappedID3D12GraphicsCommandList::Serialise_EndEvent(SerialiserType &ser) { DrawcallDescription draw; draw.name = "API Calls"; - draw.flags = DrawFlags::SetMarker | DrawFlags::APICalls; + draw.flags = DrawFlags::APICalls; m_Cmd->AddDrawcall(draw, true); } diff --git a/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp index a81ded9bd..af4de9c02 100644 --- a/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_debug_funcs.cpp @@ -352,7 +352,7 @@ bool WrappedOpenGL::Serialise_glPopDebugGroup(SerialiserType &ser) { DrawcallDescription draw; draw.name = "API Calls"; - draw.flags |= DrawFlags::SetMarker | DrawFlags::APICalls; + draw.flags |= DrawFlags::APICalls; AddDrawcall(draw, true); } diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index ba6cdd6f3..9cfcee598 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -907,7 +907,7 @@ bool WrappedVulkan::Serialise_vkEndCommandBuffer(SerialiserType &ser, VkCommandB { DrawcallDescription draw; draw.name = "API Calls"; - draw.flags |= DrawFlags::SetMarker | DrawFlags::APICalls; + draw.flags |= DrawFlags::APICalls; AddDrawcall(draw, true); @@ -2807,7 +2807,7 @@ bool WrappedVulkan::Serialise_vkCmdDebugMarkerEndEXT(SerialiserType &ser, { DrawcallDescription draw; draw.name = "API Calls"; - draw.flags = DrawFlags::SetMarker | DrawFlags::APICalls; + draw.flags = DrawFlags::APICalls; AddDrawcall(draw, true); } diff --git a/renderdoc/replay/replay_driver.cpp b/renderdoc/replay/replay_driver.cpp index c8e6400d8..5bc352f12 100644 --- a/renderdoc/replay/replay_driver.cpp +++ b/renderdoc/replay/replay_driver.cpp @@ -77,11 +77,10 @@ DrawcallDescription *SetupDrawcallPointers(vector *drawca ret = SetupDrawcallPointers(drawcallTable, draw->children, draw, previous); } - else if((draw->flags & (DrawFlags::PushMarker | DrawFlags::SetMarker | DrawFlags::MultiDraw)) && - !(draw->flags & DrawFlags::APICalls)) + else if(draw->flags & (DrawFlags::PushMarker | DrawFlags::SetMarker | DrawFlags::MultiDraw)) { // don't want to set up previous/next links for markers, but still add them to the table - // Some markers like Present or API Calls should have previous/next + // Some markers like Present or API Calls should have previous/next and are not markers if(drawcallTable) {