Don't include Present() with others in auto-marker groups

This commit is contained in:
baldurk
2014-09-06 12:59:29 +01:00
parent ea40e40c9b
commit 640d8aac49
+10 -5
View File
@@ -186,6 +186,10 @@ namespace renderdocui.Code
if ((a.flags & DrawcallFlags.Dispatch) != (b.flags & DrawcallFlags.Dispatch))
return false;
// don't group present with anything
if ((a.flags & DrawcallFlags.Present) != (b.flags & DrawcallFlags.Present))
return false;
// don't group things run on different multithreaded contexts
if(a.context != b.context)
return false;
@@ -281,13 +285,10 @@ namespace renderdocui.Code
for (int i = 1; i < draws.Length; i++)
{
if (PassEquivalent(draws[i], draws[start]) && i+1 < draws.Length)
if (PassEquivalent(draws[i], draws[start]))
continue;
int end = i - 1;
if (i == draws.Length - 1)
end = i;
int end = i-1;
if (end - start < 2 ||
draws[i].children.Length > 0 || draws[start].children.Length > 0 ||
@@ -329,6 +330,7 @@ namespace renderdocui.Code
mark.name = "Guessed Pass";
if((draws[end].flags & DrawcallFlags.Dispatch) != 0)
mark.name = String.Format("Compute Pass #{0}", computepassID++);
else if (maxOutCount == 0)
@@ -352,6 +354,9 @@ namespace renderdocui.Code
counter++;
}
if (start < draws.Length)
ret.Add(draws[start]);
return ret.ToArray();
}