]> git.cworth.org Git - apitrace/blobdiff - common/trace_loader.cpp
Implement and use os::thread.
[apitrace] / common / trace_loader.cpp
index c14d815382b4680b5b13eac008df33c828e6d8a7..e091dce38688f1395fba51d0a67c86a96426c49c 100644 (file)
@@ -1,7 +1,7 @@
 #include "trace_loader.hpp"
 
 
-using namespace Trace;
+using namespace trace;
 
 Loader::Loader()
     : m_frameMarker(FrameMarker_SwapBuffers)
@@ -23,12 +23,12 @@ void Loader::setFrameMarker(Loader::FrameMarker marker)
     m_frameMarker = marker;
 }
 
-int Loader::numberOfFrames() const
+unsigned Loader::numberOfFrames() const
 {
     return m_frameBookmarks.size();
 }
 
-int Loader::numberOfCallsInFrame(int frameIdx) const
+unsigned Loader::numberOfCallsInFrame(unsigned frameIdx) const
 {
     if (frameIdx > m_frameBookmarks.size()) {
         return 0;
@@ -50,10 +50,10 @@ bool Loader::open(const char *filename)
         return false;
     }
 
-    Trace::Call *call;
+    trace::Call *call;
     ParseBookmark startBookmark;
-    int numOfFrames = 0;
-    int numOfCalls = 0;
+    unsigned numOfFrames = 0;
+    unsigned numOfCalls = 0;
     int lastPercentReport = 0;
 
     m_parser.getBookmark(startBookmark);
@@ -89,15 +89,13 @@ void Loader::close()
     m_parser.close();
 }
 
-bool Loader::isCallAFrameMarker(const Trace::Call *call) const
+bool Loader::isCallAFrameMarker(const trace::Call *call) const
 {
     std::string name = call->name();
 
     switch (m_frameMarker) {
     case FrameMarker_SwapBuffers:
-        return  name.find("SwapBuffers") != std::string::npos ||
-                name == "CGLFlushDrawable" ||
-                name == "glFrameTerminatorGREMEDY";
+        return call->flags & trace::CALL_FLAG_END_FRAME;
         break;
     case FrameMarker_Flush:
         return name == "glFlush";
@@ -112,16 +110,16 @@ bool Loader::isCallAFrameMarker(const Trace::Call *call) const
     return false;
 }
 
-std::vector<Trace::Call *> Loader::frame(int idx)
+std::vector<trace::Call *> Loader::frame(unsigned idx)
 {
-    int numOfCalls = numberOfCallsInFrame(idx);
+    unsigned numOfCalls = numberOfCallsInFrame(idx);
     if (numOfCalls) {
         const FrameBookmark &frameBookmark = m_frameBookmarks[idx];
-        std::vector<Trace::Call*> calls(numOfCalls);
+        std::vector<trace::Call*> calls(numOfCalls);
         m_parser.setBookmark(frameBookmark.start);
 
-        Trace::Call *call;
-        int parsedCalls = 0;
+        trace::Call *call;
+        unsigned parsedCalls = 0;
         while ((call = m_parser.parse_call())) {
 
             calls[parsedCalls] = call;
@@ -135,5 +133,5 @@ std::vector<Trace::Call *> Loader::frame(int idx)
         assert(parsedCalls == numOfCalls);
         return calls;
     }
-    return std::vector<Trace::Call*>();
+    return std::vector<trace::Call*>();
 }