Remove assumptions that captures are always frames

* Previously we had "Frame X" and "Start of Frame" hardcoded in the event
  browser, and the end of frame was in many cases assumed to be a present call.
  However with the in-application API this is not necessarily true.
* Presents are now serialised separately in all APIs and displayed wherever they
  happen in the frame, and if there is no present at the end of the frame an
  "End of Capture" marker is inserted. Similarly API-defined captures are not
  given a potentially misleading frame number.
This commit is contained in:
baldurk
2019-11-21 17:09:01 +00:00
parent cb216441fe
commit 4458ab3205
37 changed files with 454 additions and 147 deletions
+10 -2
View File
@@ -1060,7 +1060,12 @@ struct FrameStatistics
DECLARE_REFLECTION_STRUCT(FrameStatistics);
DOCUMENT("Contains frame-level global information");
DOCUMENT(R"(Contains frame-level global information
.. data:: NoFrameNumber
No frame number is available.
)");
struct FrameDescription
{
DOCUMENT("");
@@ -1080,7 +1085,8 @@ struct FrameDescription
this counts the frame number when the capture was made.
.. note:: This value is only accurate if the capture was triggered through the default mechanism, if
it was triggered from the application API it doesn't correspond to anything.
it was triggered from the application API it doesn't correspond to anything and will be set to
:data:`NoFrameNumber`.
)");
uint32_t frameNumber;
@@ -1111,6 +1117,8 @@ this counts the frame number when the capture was made.
DOCUMENT("A list of debug messages that are not associated with any particular event.");
rdcarray<DebugMessage> debugMessages;
static const uint32_t NoFrameNumber = ~0U;
};
DECLARE_REFLECTION_STRUCT(FrameDescription);