From 397ea679f5d24c8f2f4785faa85b04d1a0ee2269 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 2 Dec 2019 13:13:59 +0000 Subject: [PATCH] Handle the present call being within markers --- renderdoccmd/renderdoccmd.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/renderdoccmd/renderdoccmd.cpp b/renderdoccmd/renderdoccmd.cpp index 2a18f7013..2048ccff2 100644 --- a/renderdoccmd/renderdoccmd.cpp +++ b/renderdoccmd/renderdoccmd.cpp @@ -94,9 +94,17 @@ void DisplayRendererPreview(IReplayController *renderer, uint32_t width, uint32_ rdcarray draws = renderer->GetDrawcalls(); - if(!draws.empty() && draws.back().flags & DrawFlags::Present) + DrawcallDescription *last = NULL; + + if(!draws.empty()) + last = &draws.back(); + + while(last && !last->children.empty()) + last = &last->children.back(); + + if(last && last->flags & DrawFlags::Present) { - ResourceId id = draws.back().copyDestination; + ResourceId id = last->copyDestination; if(id != ResourceId()) d.resourceId = id; }