|
From: <axl...@us...> - 2009-08-21 00:57:58
|
Revision: 502
http://hgengine.svn.sourceforge.net/hgengine/?rev=502&view=rev
Author: axlecrusher
Date: 2009-08-21 00:57:42 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
Count specific functions
Modified Paths:
--------------
Mercury2/src/GLHeaders.h
Mercury2/src/GLHelpers.cpp
Mercury2/src/GLHelpers.h
Mercury2/src/Mercury2.cpp
Modified: Mercury2/src/GLHeaders.h
===================================================================
--- Mercury2/src/GLHeaders.h 2009-08-19 23:50:34 UTC (rev 501)
+++ Mercury2/src/GLHeaders.h 2009-08-21 00:57:42 UTC (rev 502)
@@ -23,7 +23,7 @@
#include <MercuryLog.h>
-#define GLCALL(x) x; ++GLCALLCOUNT;
+#define GLCALL(x) x; ++GLCALLCOUNT; GLFUNCTCOUNT[#x]++;
#define GLERRORCHECK { \
uint32_t e = GLCALL( glGetError() ); \
@@ -37,5 +37,9 @@
LOG.Write(ssprintf("GL FBO Error:%s", GlError2String(e).c_str())); \
assert(0); } }
+#include <map>
+
extern uint32_t GLCALLCOUNT;
+extern std::map<MString, uint32_t> GLFUNCTCOUNT;
+
#endif
Modified: Mercury2/src/GLHelpers.cpp
===================================================================
--- Mercury2/src/GLHelpers.cpp 2009-08-19 23:50:34 UTC (rev 501)
+++ Mercury2/src/GLHelpers.cpp 2009-08-21 00:57:42 UTC (rev 502)
@@ -2,6 +2,7 @@
#include <GLHelpers.h>
uint32_t GLCALLCOUNT = 0;
+std::map<MString, uint32_t> GLFUNCTCOUNT;
MString GlError2String(uint32_t e)
{
@@ -108,6 +109,18 @@
}
+void PrintGLFunctionCalls()
+{
+ std::map<MString,uint32_t>::iterator i;
+
+ for(i = GLFUNCTCOUNT.begin(); i != GLFUNCTCOUNT.end(); ++i)
+ {
+ LOG.Write(ssprintf( "%d ", i->second ) + i->first);
+ }
+
+ GLFUNCTCOUNT.clear();
+}
+
/****************************************************************************
* Copyright (C) 2009 by Joshua Allen *
* *
Modified: Mercury2/src/GLHelpers.h
===================================================================
--- Mercury2/src/GLHelpers.h 2009-08-19 23:50:34 UTC (rev 501)
+++ Mercury2/src/GLHelpers.h 2009-08-21 00:57:42 UTC (rev 502)
@@ -11,6 +11,8 @@
MercuryVertex pointFromScreenLoc(int screen_x, int screen_y);
unsigned int ToGLColorType(ColorByteType cbt);
+void PrintGLFunctionCalls();
+
/****************************************************************************
* Copyright (C) 2009 by Joshua Allen *
* *
Modified: Mercury2/src/Mercury2.cpp
===================================================================
--- Mercury2/src/Mercury2.cpp 2009-08-19 23:50:34 UTC (rev 501)
+++ Mercury2/src/Mercury2.cpp 2009-08-21 00:57:42 UTC (rev 502)
@@ -120,6 +120,8 @@
// UpdateLoopGo.Increment();
// updateThread.Wait();
+ PrintGLFunctionCalls();
+
SAFE_DELETE(root);
SAFE_DELETE(w);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|