Commit 6309d3d8 authored by cutealien's avatar cutealien

Rewrite profiler implementation some more to get around linker troubles.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4797 dfc29bdd-3216-0410-991c-e03cc46cb475
parent fafb83f2
...@@ -288,9 +288,23 @@ int main() ...@@ -288,9 +288,23 @@ int main()
if (driverType==video::EDT_COUNT) if (driverType==video::EDT_COUNT)
return 1; return 1;
/*
Profiler is independent of the device - so we can time the device setup
*/
MY_PROFILE(s32 pDev = getProfiler().add(L"createDevice", L"group a");)
MY_PROFILE(getProfiler().start(pDev);)
IrrlichtDevice * device = createDevice(driverType, core::dimension2d<u32>(640, 480)); IrrlichtDevice * device = createDevice(driverType, core::dimension2d<u32>(640, 480));
if (device == 0) if (device == 0)
{
/*
When working with start/stop you should add a stop to all exit paths.
Although in this case it wouldn't matter as we don't do anything with it when we quit here.
*/
MY_PROFILE(getProfiler().stop(pDev);)
return 1; // could not create selected driver. return 1; // could not create selected driver.
}
MY_PROFILE(getProfiler().stop(pDev);)
video::IVideoDriver* driver = device->getVideoDriver(); video::IVideoDriver* driver = device->getVideoDriver();
IGUIEnvironment* env = device->getGUIEnvironment(); IGUIEnvironment* env = device->getGUIEnvironment();
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<Project filename="24.CursorControl/CursorControl.cbp" /> <Project filename="24.CursorControl/CursorControl.cbp" />
<Project filename="25.XmlHandling/XmlHandling.cbp" /> <Project filename="25.XmlHandling/XmlHandling.cbp" />
<Project filename="26.OcclusionQuery/OcclusionQuery.cbp" /> <Project filename="26.OcclusionQuery/OcclusionQuery.cbp" />
<Project filename="30.Profiling/Profiling.cbp" /> <Project filename="30.Profiling/Profiling.cbp" active="1" />
<Project filename="Demo/demo.cbp" /> <Project filename="Demo/demo.cbp" />
<Project filename="../tools/GUIEditor/GUIEditor_gcc.cbp" /> <Project filename="../tools/GUIEditor/GUIEditor_gcc.cbp" />
<Project filename="../tools/MeshConverter/MeshConverter.cbp" /> <Project filename="../tools/MeshConverter/MeshConverter.cbp" />
......
This diff is collapsed.
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
#include "CMeshBuffer.h" #include "CMeshBuffer.h"
#include "coreutil.h" #include "coreutil.h"
#include "CVertexBuffer.h" #include "CVertexBuffer.h"
#include "CProfiler.h" #include "IProfiler.h"
#include "dimension2d.h" #include "dimension2d.h"
#include "ECullingTypes.h" #include "ECullingTypes.h"
#include "EDebugSceneTypes.h" #include "EDebugSceneTypes.h"
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
namespace irr namespace irr
{ {
class CProfiler; class IProfiler;
struct SProfileData; struct SProfileData;
namespace gui namespace gui
...@@ -66,7 +66,7 @@ namespace gui ...@@ -66,7 +66,7 @@ namespace gui
void fillRow(u32 rowIndex, const SProfileData& data, bool overviewTitle, bool groupTitle); void fillRow(u32 rowIndex, const SProfileData& data, bool overviewTitle, bool groupTitle);
void rebuildColumns(); void rebuildColumns();
CProfiler * Profiler; IProfiler * Profiler;
irr::gui::IGUITable* DisplayTable; irr::gui::IGUITable* DisplayTable;
irr::u32 CurrentGroupIdx; irr::u32 CurrentGroupIdx;
bool IgnoreUncalled; bool IgnoreUncalled;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include "os.h" #include "os.h"
#include "CShadowVolumeSceneNode.h" #include "CShadowVolumeSceneNode.h"
#include "EProfileIDs.h" #include "EProfileIDs.h"
#include "CProfiler.h" #include "IProfiler.h"
namespace irr namespace irr
{ {
......
...@@ -4,63 +4,16 @@ ...@@ -4,63 +4,16 @@
#include "CProfiler.h" #include "CProfiler.h"
#include "CTimer.h" #include "CTimer.h"
#include <limits.h>
namespace irr namespace irr
{ {
IRRLICHT_API CProfiler& IRRCALLCONV getProfiler() IRRLICHT_API IProfiler& IRRCALLCONV getProfiler()
{ {
static CProfiler profiler; static CProfiler profiler;
return profiler; return profiler;
} }
//! Convert the whole data into a string
core::stringw SProfileData::getAsString() const
{
if ( CountCalls > 0 )
{
#ifdef _MSC_VER
#pragma warning(disable:4996) // 'sprintf' was declared deprecated
#endif
// Can't use swprintf as it fails on some platforms (especially mobile platforms)
// Can't use Irrlicht functions because we have no string formatting.
char dummy[1023];
sprintf(dummy, "%-15.15s%-12u%-12u%-12u%-12u",
core::stringc(Name).c_str(), CountCalls, TimeSum,
TimeSum / CountCalls, LongestTime);
dummy[1022] = 0;
return core::stringw(dummy);
#ifdef _MSC_VER
#pragma warning(default :4996) // 'sprintf' was declared deprecated
#endif
}
else
{
return Name;
}
}
//! Return a string which describes the columns returned by getAsString
core::stringw SProfileData::makeTitleString()
{
return core::stringw("name calls time(sum) time(avg) time(max)");
}
void SProfileData::reset()
{
CountCalls = 0;
LongestTime = 0;
TimeSum = 0;
LastTimeStarted = 0;
}
CProfiler::CProfiler() CProfiler::CProfiler()
: Timer(0)
, NextAutoId(INT_MAX)
{ {
Timer = new CTimer(true); Timer = new CTimer(true);
...@@ -73,139 +26,9 @@ CProfiler::~CProfiler() ...@@ -73,139 +26,9 @@ CProfiler::~CProfiler()
Timer->drop(); Timer->drop();
} }
s32 CProfiler::add(const core::stringw &name, const core::stringw &groupName)
{
u32 index;
if ( findDataIndex(index, name) )
{
add( ProfileDatas[index].Id, name, groupName );
return ProfileDatas[index].Id;
}
else
{
s32 id = NextAutoId;
--NextAutoId;
add( id, name, groupName );
return id;
}
}
void CProfiler::add(s32 id, const core::stringw &name, const core::stringw &groupName)
{
u32 groupIdx;
if ( !findGroupIndex(groupIdx, groupName) )
{
groupIdx = addGroup(groupName);
}
SProfileData data(id);
s32 idx = ProfileDatas.binary_search(data);
if ( idx < 0 )
{
data.reset();
data.GroupIndex = groupIdx;
data.Name = name;
ProfileDatas.push_back(data);
ProfileDatas.sort();
}
else
{
// only reset on group changes, otherwise we want to keep the data or coding CProfileScope would become tricky.
if ( groupIdx != ProfileDatas[idx].GroupIndex )
{
resetDataByIndex((u32)idx);
ProfileDatas[idx].GroupIndex = groupIdx;
}
ProfileDatas[idx].Name = name;
}
}
u32 CProfiler::addGroup(const core::stringw &name)
{
SProfileData group;
group.Id = -1; // Id for groups doesn't matter so far
group.Name = name;
ProfileGroups.push_back(group);
return ProfileGroups.size()-1;
}
bool CProfiler::findDataIndex(u32 & result, const core::stringw &name) const
{
for ( u32 i=0; i < ProfileDatas.size(); ++i )
{
if ( ProfileDatas[i].Name == name )
{
result = i;
return true;
}
}
return false;
}
bool CProfiler::findGroupIndex(u32 & result, const core::stringw &name) const
{
for ( u32 i=0; i < ProfileGroups.size(); ++i )
{
if ( ProfileGroups[i].Name == name )
{
result = i;
return true;
}
}
return false;
}
void CProfiler::resetDataById(s32 id)
{
s32 idx = ProfileDatas.binary_search(SProfileData(id));
if ( idx >= 0 )
{
resetDataByIndex((u32)idx);
}
}
void CProfiler::resetDataByIndex(u32 index)
{
SProfileData &data = ProfileDatas[index];
SProfileData & group = ProfileGroups[data.GroupIndex];
group.CountCalls -= data.CountCalls;
group.TimeSum -= data.TimeSum;
data.reset();
}
//! Reset profile data for a whole group
void CProfiler::resetGroup(u32 index)
{
for ( u32 i=0; i<ProfileDatas.size(); ++i )
{
if ( ProfileDatas[i].GroupIndex == index )
ProfileDatas[i].reset();
}
if ( index < ProfileGroups.size() )
ProfileGroups[index].reset();
}
void CProfiler::resetAll()
{
for ( u32 i=0; i<ProfileDatas.size(); ++i )
{
ProfileDatas[i].reset();
}
for ( u32 i=0; i<ProfileGroups.size(); ++i )
{
ProfileGroups[i].reset();
}
}
void CProfiler::printAll(core::stringw &ostream, bool includeOverview, bool suppressUncalled) const void CProfiler::printAll(core::stringw &ostream, bool includeOverview, bool suppressUncalled) const
{ {
ostream += SProfileData::makeTitleString(); ostream += makeTitleString();
ostream += L"\n"; ostream += L"\n";
for ( u32 i=includeOverview ?0:1; i<ProfileGroups.size(); ++i ) for ( u32 i=includeOverview ?0:1; i<ProfileGroups.size(); ++i )
{ {
...@@ -215,7 +38,7 @@ void CProfiler::printAll(core::stringw &ostream, bool includeOverview, bool supp ...@@ -215,7 +38,7 @@ void CProfiler::printAll(core::stringw &ostream, bool includeOverview, bool supp
void CProfiler::printGroup(core::stringw &ostream, u32 idxGroup, bool suppressUncalled) const void CProfiler::printGroup(core::stringw &ostream, u32 idxGroup, bool suppressUncalled) const
{ {
ostream += ProfileGroups[idxGroup].getAsString(); ostream += getAsString(ProfileGroups[idxGroup]);
ostream += L"\n"; ostream += L"\n";
// print overview for groups // print overview for groups
...@@ -223,9 +46,9 @@ void CProfiler::printGroup(core::stringw &ostream, u32 idxGroup, bool suppressUn ...@@ -223,9 +46,9 @@ void CProfiler::printGroup(core::stringw &ostream, u32 idxGroup, bool suppressUn
{ {
for ( u32 i=0; i<ProfileGroups.size(); ++i ) for ( u32 i=0; i<ProfileGroups.size(); ++i )
{ {
if ( !suppressUncalled || ProfileGroups[i].CountCalls > 0) if ( !suppressUncalled || ProfileGroups[i].getCallsCounter() > 0)
{ {
ostream += ProfileGroups[i].getAsString(); ostream += getAsString(ProfileGroups[i]);
ostream += L"\n"; ostream += L"\n";
} }
} }
...@@ -235,14 +58,47 @@ void CProfiler::printGroup(core::stringw &ostream, u32 idxGroup, bool suppressUn ...@@ -235,14 +58,47 @@ void CProfiler::printGroup(core::stringw &ostream, u32 idxGroup, bool suppressUn
{ {
for ( u32 i=0; i<ProfileDatas.size(); ++i ) for ( u32 i=0; i<ProfileDatas.size(); ++i )
{ {
if ( (!suppressUncalled || ProfileDatas[i].CountCalls > 0) if ( (!suppressUncalled || ProfileDatas[i].getCallsCounter() > 0)
&& ProfileDatas[i].GroupIndex == idxGroup ) && ProfileDatas[i].getGroupIndex() == idxGroup )
{ {
ostream += ProfileDatas[i].getAsString(); ostream += getAsString(ProfileDatas[i]);
ostream += L"\n"; ostream += L"\n";
} }
} }
} }
} }
//! Convert the whole data into a string
core::stringw CProfiler::getAsString(const SProfileData& data) const
{
if ( data.getCallsCounter() > 0 )
{
#ifdef _MSC_VER
#pragma warning(disable:4996) // 'sprintf' was declared deprecated
#endif
// Can't use swprintf as it fails on some platforms (especially mobile platforms)
// Can't use Irrlicht functions because we have no string formatting.
char dummy[1023];
sprintf(dummy, "%-15.15s%-12u%-12u%-12u%-12u",
core::stringc(data.getName()).c_str(), data.getCallsCounter(), data.getTimeSum(),
data.getTimeSum() / data.getCallsCounter(), data.getLongestTime());
dummy[1022] = 0;
return core::stringw(dummy);
#ifdef _MSC_VER
#pragma warning(default :4996) // 'sprintf' was declared deprecated
#endif
}
else
{
return data.getName();
}
}
//! Return a string which describes the columns returned by getAsString
core::stringw CProfiler::makeTitleString() const
{
return core::stringw("name calls time(sum) time(avg) time(max)");
}
} // namespace irr } // namespace irr
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
// Written by Michael Zeilfelder
#ifndef __C_PROFILER_H_INCLUDED__
#define __C_PROFILER_H_INCLUDED__
#include "IrrCompileConfig.h"
#include "IProfiler.h"
namespace irr
{
class CProfiler : public IProfiler
{
public:
CProfiler();
virtual ~CProfiler();
//! Write all profile-data into a string
virtual void printAll(core::stringw &result, bool includeOverview,bool suppressUncalled) const _IRR_OVERRIDE_;
//! Write the profile data of one group into a string
virtual void printGroup(core::stringw &result, u32 groupIndex, bool suppressUncalled) const _IRR_OVERRIDE_;
protected:
core::stringw makeTitleString() const;
core::stringw getAsString(const SProfileData& data) const;
};
} // namespace irr
#endif // __C_PROFILER_H_INCLUDED__
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include "IWriteFile.h" #include "IWriteFile.h"
#include "ISceneLoader.h" #include "ISceneLoader.h"
#include "EProfileIDs.h" #include "EProfileIDs.h"
#include "CProfiler.h" #include "IProfiler.h"
#include "os.h" #include "os.h"
......
This diff is collapsed.
...@@ -835,9 +835,9 @@ ...@@ -835,9 +835,9 @@
<ClInclude Include="..\..\include\EMaterialFlags.h" /> <ClInclude Include="..\..\include\EMaterialFlags.h" />
<ClInclude Include="..\..\include\IAnimatedMeshMD3.h" /> <ClInclude Include="..\..\include\IAnimatedMeshMD3.h" />
<ClInclude Include="..\..\include\IEventReceiver.h" /> <ClInclude Include="..\..\include\IEventReceiver.h" />
<ClInclude Include="..\..\include\CProfiler.h" />
<ClInclude Include="..\..\include\ILogger.h" /> <ClInclude Include="..\..\include\ILogger.h" />
<ClInclude Include="..\..\include\IOSOperator.h" /> <ClInclude Include="..\..\include\IOSOperator.h" />
<ClInclude Include="..\..\include\IProfiler.h" />
<ClInclude Include="..\..\include\IRandomizer.h" /> <ClInclude Include="..\..\include\IRandomizer.h" />
<ClInclude Include="..\..\include\IReferenceCounted.h" /> <ClInclude Include="..\..\include\IReferenceCounted.h" />
<ClInclude Include="..\..\include\IrrCompileConfig.h" /> <ClInclude Include="..\..\include\IrrCompileConfig.h" />
...@@ -920,7 +920,7 @@ ...@@ -920,7 +920,7 @@
<ClInclude Include="..\..\include\IMeshLoader.h" /> <ClInclude Include="..\..\include\IMeshLoader.h" />
<ClInclude Include="..\..\include\IMeshManipulator.h" /> <ClInclude Include="..\..\include\IMeshManipulator.h" />
<ClInclude Include="..\..\include\IMeshSceneNode.h" /> <ClInclude Include="..\..\include\IMeshSceneNode.h" />
<ClInclude Include="..\..\include\IMeshTextureLoader.h" /> <ClInclude Include="..\..\include\IMeshTextureLoader.h" />
<ClInclude Include="..\..\include\IMeshWriter.h" /> <ClInclude Include="..\..\include\IMeshWriter.h" />
<ClInclude Include="..\..\include\IMetaTriangleSelector.h" /> <ClInclude Include="..\..\include\IMetaTriangleSelector.h" />
<ClInclude Include="..\..\include\IParticleAffector.h" /> <ClInclude Include="..\..\include\IParticleAffector.h" />
...@@ -966,7 +966,7 @@ ...@@ -966,7 +966,7 @@
<ClInclude Include="..\..\include\EGUIAlignment.h" /> <ClInclude Include="..\..\include\EGUIAlignment.h" />
<ClInclude Include="..\..\include\EGUIElementTypes.h" /> <ClInclude Include="..\..\include\EGUIElementTypes.h" />
<ClInclude Include="..\..\include\EMessageBoxFlags.h" /> <ClInclude Include="..\..\include\EMessageBoxFlags.h" />
<ClInclude Include="..\..\include\EFocusFlags.h" /> <ClInclude Include="..\..\include\EFocusFlags.h" />
<ClInclude Include="..\..\include\ICursorControl.h" /> <ClInclude Include="..\..\include\ICursorControl.h" />
<ClInclude Include="..\..\include\IGUIButton.h" /> <ClInclude Include="..\..\include\IGUIButton.h" />
<ClInclude Include="..\..\include\IGUICheckbox.h" /> <ClInclude Include="..\..\include\IGUICheckbox.h" />
...@@ -983,7 +983,7 @@ ...@@ -983,7 +983,7 @@
<ClInclude Include="..\..\include\IGUIInOutFader.h" /> <ClInclude Include="..\..\include\IGUIInOutFader.h" />
<ClInclude Include="..\..\include\IGUIListBox.h" /> <ClInclude Include="..\..\include\IGUIListBox.h" />
<ClInclude Include="..\..\include\IGUIMeshViewer.h" /> <ClInclude Include="..\..\include\IGUIMeshViewer.h" />
<ClInclude Include="..\..\include\IGUIProfiler.h" /> <ClInclude Include="..\..\include\IGUIProfiler.h" />
<ClInclude Include="..\..\include\IGUIScrollBar.h" /> <ClInclude Include="..\..\include\IGUIScrollBar.h" />
<ClInclude Include="..\..\include\IGUISkin.h" /> <ClInclude Include="..\..\include\IGUISkin.h" />
<ClInclude Include="..\..\include\IGUISpinBox.h" /> <ClInclude Include="..\..\include\IGUISpinBox.h" />
...@@ -1001,6 +1001,7 @@ ...@@ -1001,6 +1001,7 @@
<ClInclude Include="CMeshCache.h" /> <ClInclude Include="CMeshCache.h" />
<ClInclude Include="CMeshManipulator.h" /> <ClInclude Include="CMeshManipulator.h" />
<ClInclude Include="COpenGLCgMaterialRenderer.h" /> <ClInclude Include="COpenGLCgMaterialRenderer.h" />
<ClInclude Include="CProfiler.h" />
<ClInclude Include="CSceneManager.h" /> <ClInclude Include="CSceneManager.h" />
<ClInclude Include="Octree.h" /> <ClInclude Include="Octree.h" />
<ClInclude Include="CSMFMeshFileLoader.h" /> <ClInclude Include="CSMFMeshFileLoader.h" />
...@@ -1018,7 +1019,7 @@ ...@@ -1018,7 +1019,7 @@
<ClInclude Include="CLWOMeshFileLoader.h" /> <ClInclude Include="CLWOMeshFileLoader.h" />
<ClInclude Include="CMD2MeshFileLoader.h" /> <ClInclude Include="CMD2MeshFileLoader.h" />
<ClInclude Include="CMD3MeshFileLoader.h" /> <ClInclude Include="CMD3MeshFileLoader.h" />
<ClInclude Include="CMeshTextureLoader.h" /> <ClInclude Include="CMeshTextureLoader.h" />
<ClInclude Include="CMS3DMeshFileLoader.h" /> <ClInclude Include="CMS3DMeshFileLoader.h" />
<ClInclude Include="CMY3DHelper.h" /> <ClInclude Include="CMY3DHelper.h" />
<ClInclude Include="CMY3DMeshFileLoader.h" /> <ClInclude Include="CMY3DMeshFileLoader.h" />
...@@ -1151,7 +1152,7 @@ ...@@ -1151,7 +1152,7 @@
<ClInclude Include="COSOperator.h" /> <ClInclude Include="COSOperator.h" />
<ClInclude Include="CTimer.h" /> <ClInclude Include="CTimer.h" />
<ClInclude Include="os.h" /> <ClInclude Include="os.h" />
<ClInclude Include="EProfileIDs.h" /> <ClInclude Include="EProfileIDs.h" />
<ClInclude Include="lzma\LzmaDec.h" /> <ClInclude Include="lzma\LzmaDec.h" />
<ClInclude Include="lzma\Types.h" /> <ClInclude Include="lzma\Types.h" />
<ClInclude Include="zlib\crc32.h" /> <ClInclude Include="zlib\crc32.h" />
...@@ -1230,7 +1231,7 @@ ...@@ -1230,7 +1231,7 @@
<ClInclude Include="CGUIMessageBox.h" /> <ClInclude Include="CGUIMessageBox.h" />
<ClInclude Include="CGUIModalScreen.h" /> <ClInclude Include="CGUIModalScreen.h" />
<ClInclude Include="CGUIProfiler.h" /> <ClInclude Include="CGUIProfiler.h" />
<ClInclude Include="CGUIScrollBar.h" /> <ClInclude Include="CGUIScrollBar.h" />
<ClInclude Include="CGUISkin.h" /> <ClInclude Include="CGUISkin.h" />
<ClInclude Include="CGUISpinBox.h" /> <ClInclude Include="CGUISpinBox.h" />
<ClInclude Include="CGUISpriteBank.h" /> <ClInclude Include="CGUISpriteBank.h" />
...@@ -1270,7 +1271,7 @@ ...@@ -1270,7 +1271,7 @@
<ClCompile Include="CLWOMeshFileLoader.cpp" /> <ClCompile Include="CLWOMeshFileLoader.cpp" />
<ClCompile Include="CMD2MeshFileLoader.cpp" /> <ClCompile Include="CMD2MeshFileLoader.cpp" />
<ClCompile Include="CMD3MeshFileLoader.cpp" /> <ClCompile Include="CMD3MeshFileLoader.cpp" />
<ClCompile Include="CMeshTextureLoader.cpp" /> <ClCompile Include="CMeshTextureLoader.cpp" />
<ClCompile Include="CMS3DMeshFileLoader.cpp" /> <ClCompile Include="CMS3DMeshFileLoader.cpp" />
<ClCompile Include="CMY3DMeshFileLoader.cpp" /> <ClCompile Include="CMY3DMeshFileLoader.cpp" />
<ClCompile Include="COBJMeshFileLoader.cpp" /> <ClCompile Include="COBJMeshFileLoader.cpp" />
...@@ -1417,7 +1418,7 @@ ...@@ -1417,7 +1418,7 @@
<ClCompile Include="Irrlicht.cpp" /> <ClCompile Include="Irrlicht.cpp" />
<ClCompile Include="leakHunter.cpp" /> <ClCompile Include="leakHunter.cpp" />
<ClCompile Include="os.cpp" /> <ClCompile Include="os.cpp" />
<ClCompile Include="CProfiler.cpp" /> <ClCompile Include="CProfiler.cpp" />
<ClCompile Include="lzma\LzmaDec.c" /> <ClCompile Include="lzma\LzmaDec.c" />
<ClCompile Include="zlib\adler32.c" /> <ClCompile Include="zlib\adler32.c" />
<ClCompile Include="zlib\compress.c" /> <ClCompile Include="zlib\compress.c" />
...@@ -1548,7 +1549,7 @@ ...@@ -1548,7 +1549,7 @@
<ClCompile Include="CGUIMessageBox.cpp" /> <ClCompile Include="CGUIMessageBox.cpp" />
<ClCompile Include="CGUIModalScreen.cpp" /> <ClCompile Include="CGUIModalScreen.cpp" />
<ClCompile Include="CGUIProfiler.cpp" /> <ClCompile Include="CGUIProfiler.cpp" />
<ClCompile Include="CGUIScrollBar.cpp" /> <ClCompile Include="CGUIScrollBar.cpp" />
<ClCompile Include="CGUISkin.cpp" /> <ClCompile Include="CGUISkin.cpp" />
<ClCompile Include="CGUISpinBox.cpp" /> <ClCompile Include="CGUISpinBox.cpp" />
<ClCompile Include="CGUISpriteBank.cpp" /> <ClCompile Include="CGUISpriteBank.cpp" />
......
...@@ -105,10 +105,7 @@ ...@@ -105,10 +105,7 @@
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\include\IEventReceiver.h"> <ClInclude Include="..\..\include\IEventReceiver.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\include\CProfiler.h">
<Filter>include</Filter> <Filter>include</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\ILogger.h"> <ClInclude Include="..\..\include\ILogger.h">
...@@ -357,7 +354,7 @@ ...@@ -357,7 +354,7 @@
<ClInclude Include="..\..\include\IMeshSceneNode.h"> <ClInclude Include="..\..\include\IMeshSceneNode.h">
<Filter>include\scene</Filter> <Filter>include\scene</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\IMeshTextureLoader.h"> <ClInclude Include="..\..\include\IMeshTextureLoader.h">
<Filter>include\scene</Filter> <Filter>include\scene</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\IMeshWriter.h"> <ClInclude Include="..\..\include\IMeshWriter.h">
...@@ -492,7 +489,7 @@ ...@@ -492,7 +489,7 @@
<ClInclude Include="..\..\include\EMessageBoxFlags.h"> <ClInclude Include="..\..\include\EMessageBoxFlags.h">
<Filter>include\gui</Filter> <Filter>include\gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\EFocusFlags.h"> <ClInclude Include="..\..\include\EFocusFlags.h">
<Filter>include\gui</Filter> <Filter>include\gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\ICursorControl.h"> <ClInclude Include="..\..\include\ICursorControl.h">
...@@ -543,7 +540,7 @@ ...@@ -543,7 +540,7 @@
<ClInclude Include="..\..\include\IGUIMeshViewer.h"> <ClInclude Include="..\..\include\IGUIMeshViewer.h">
<Filter>include\gui</Filter> <Filter>include\gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\IGUIProfiler.h"> <ClInclude Include="..\..\include\IGUIProfiler.h">
<Filter>include\gui</Filter> <Filter>include\gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\IGUIScrollBar.h"> <ClInclude Include="..\..\include\IGUIScrollBar.h">
...@@ -636,7 +633,7 @@ ...@@ -636,7 +633,7 @@
<ClInclude Include="CMD3MeshFileLoader.h"> <ClInclude Include="CMD3MeshFileLoader.h">
<Filter>Irrlicht\scene\loaders</Filter> <Filter>Irrlicht\scene\loaders</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="CMeshTextureLoader.h"> <ClInclude Include="CMeshTextureLoader.h">
<Filter>Irrlicht\scene\loaders</Filter> <Filter>Irrlicht\scene\loaders</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="CMS3DMeshFileLoader.h"> <ClInclude Include="CMS3DMeshFileLoader.h">
...@@ -1029,7 +1026,7 @@ ...@@ -1029,7 +1026,7 @@
<ClInclude Include="os.h"> <ClInclude Include="os.h">
<Filter>Irrlicht\irr</Filter> <Filter>Irrlicht\irr</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="EProfileIDs.h"> <ClInclude Include="EProfileIDs.h">
<Filter>Irrlicht\irr</Filter> <Filter>Irrlicht\irr</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="lzma\LzmaDec.h"> <ClInclude Include="lzma\LzmaDec.h">
...@@ -1266,7 +1263,7 @@ ...@@ -1266,7 +1263,7 @@
<ClInclude Include="CGUIProfiler.h"> <ClInclude Include="CGUIProfiler.h">
<Filter>Irrlicht\gui</Filter> <Filter>Irrlicht\gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="CGUIScrollBar.h"> <ClInclude Include="CGUIScrollBar.h">
<Filter>Irrlicht\gui</Filter> <Filter>Irrlicht\gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="CGUISkin.h"> <ClInclude Include="CGUISkin.h">
...@@ -1330,6 +1327,12 @@ ...@@ -1330,6 +1327,12 @@
<ClInclude Include="..\..\include\SSharedMeshBuffer.h"> <ClInclude Include="..\..\include\SSharedMeshBuffer.h">
<Filter>include\scene</Filter> <Filter>include\scene</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\IProfiler.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="CProfiler.h">
<Filter>Irrlicht\irr</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="..\..\changes.txt"> <None Include="..\..\changes.txt">
...@@ -1400,7 +1403,7 @@ ...@@ -1400,7 +1403,7 @@
<ClCompile Include="CMD3MeshFileLoader.cpp"> <ClCompile Include="CMD3MeshFileLoader.cpp">
<Filter>Irrlicht\scene\loaders</Filter> <Filter>Irrlicht\scene\loaders</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="CMeshTextureLoader.cpp"> <ClCompile Include="CMeshTextureLoader.cpp">
<Filter>Irrlicht\scene\loaders</Filter> <Filter>Irrlicht\scene\loaders</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="CMS3DMeshFileLoader.cpp"> <ClCompile Include="CMS3DMeshFileLoader.cpp">
...@@ -1835,7 +1838,7 @@ ...@@ -1835,7 +1838,7 @@
<ClCompile Include="os.cpp"> <ClCompile Include="os.cpp">
<Filter>Irrlicht\irr</Filter> <Filter>Irrlicht\irr</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="CProfiler.cpp"> <ClCompile Include="CProfiler.cpp">
<Filter>Irrlicht\irr</Filter> <Filter>Irrlicht\irr</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="lzma\LzmaDec.c"> <ClCompile Include="lzma\LzmaDec.c">
...@@ -2228,7 +2231,7 @@ ...@@ -2228,7 +2231,7 @@
<ClCompile Include="CGUIProfiler.cpp"> <ClCompile Include="CGUIProfiler.cpp">
<Filter>Irrlicht\gui</Filter> <Filter>Irrlicht\gui</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="CGUIScrollBar.cpp"> <ClCompile Include="CGUIScrollBar.cpp">
<Filter>Irrlicht\gui</Filter> <Filter>Irrlicht\gui</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="CGUISkin.cpp"> <ClCompile Include="CGUISkin.cpp">
......
...@@ -842,7 +842,7 @@ ...@@ -842,7 +842,7 @@
<ClInclude Include="..\..\include\EMaterialFlags.h" /> <ClInclude Include="..\..\include\EMaterialFlags.h" />
<ClInclude Include="..\..\include\IAnimatedMeshMD3.h" /> <ClInclude Include="..\..\include\IAnimatedMeshMD3.h" />
<ClInclude Include="..\..\include\IEventReceiver.h" /> <ClInclude Include="..\..\include\IEventReceiver.h" />
<ClInclude Include="..\..\include\CProfiler.h" /> <ClInclude Include="..\..\include\IProfiler.h" />
<ClInclude Include="..\..\include\ILogger.h" /> <ClInclude Include="..\..\include\ILogger.h" />
<ClInclude Include="..\..\include\IOSOperator.h" /> <ClInclude Include="..\..\include\IOSOperator.h" />
<ClInclude Include="..\..\include\IRandomizer.h" /> <ClInclude Include="..\..\include\IRandomizer.h" />
...@@ -1158,6 +1158,7 @@ ...@@ -1158,6 +1158,7 @@
<ClInclude Include="COSOperator.h" /> <ClInclude Include="COSOperator.h" />
<ClInclude Include="CTimer.h" /> <ClInclude Include="CTimer.h" />
<ClInclude Include="os.h" /> <ClInclude Include="os.h" />
<ClInclude Include="CProfiler.h" />
<ClInclude Include="EProfileIDs.h" /> <ClInclude Include="EProfileIDs.h" />
<ClInclude Include="lzma\LzmaDec.h" /> <ClInclude Include="lzma\LzmaDec.h" />
<ClInclude Include="lzma\Types.h" /> <ClInclude Include="lzma\Types.h" />
......
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
<ClInclude Include="..\..\include\IEventReceiver.h"> <ClInclude Include="..\..\include\IEventReceiver.h">
<Filter>include</Filter> <Filter>include</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\CProfiler.h"> <ClInclude Include="..\..\include\IProfiler.h">
<Filter>include</Filter> <Filter>include</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\ILogger.h"> <ClInclude Include="..\..\include\ILogger.h">
...@@ -1031,6 +1031,9 @@ ...@@ -1031,6 +1031,9 @@
</ClInclude> </ClInclude>
<ClInclude Include="os.h"> <ClInclude Include="os.h">
<Filter>Irrlicht\irr</Filter> <Filter>Irrlicht\irr</Filter>
</ClInclude>
<ClInclude Include="CProfiler.h">
<Filter>Irrlicht\irr</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="EProfileIDs.h"> <ClInclude Include="EProfileIDs.h">
<Filter>Irrlicht\irr</Filter> <Filter>Irrlicht\irr</Filter>
......
...@@ -587,7 +587,7 @@ ...@@ -587,7 +587,7 @@
> >
</File> </File>
<File <File
RelativePath=".\..\..\include\CProfiler.h" RelativePath=".\..\..\include\IProfiler.h"
> >
</File> </File>
<File <File
...@@ -3021,6 +3021,10 @@ ...@@ -3021,6 +3021,10 @@
RelativePath="CProfiler.cpp" RelativePath="CProfiler.cpp"
> >
</File> </File>
<File
RelativePath="CProfiler.h"
>
</File>
<File <File
RelativePath="EProfileIDs.h" RelativePath="EProfileIDs.h"
> >
......
...@@ -686,7 +686,7 @@ ...@@ -686,7 +686,7 @@
> >
</File> </File>
<File <File
RelativePath="..\..\include\CProfiler.h" RelativePath="..\..\include\IProfiler.h"
> >
</File> </File>
<File <File
...@@ -2740,6 +2740,10 @@ ...@@ -2740,6 +2740,10 @@
RelativePath="CProfiler.cpp" RelativePath="CProfiler.cpp"
> >
</File> </File>
<File
RelativePath="CProfiler.h"
>
</File>
<File <File
RelativePath="EProfileIDs.h" RelativePath="EProfileIDs.h"
> >
......
...@@ -330,7 +330,7 @@ ...@@ -330,7 +330,7 @@
> >
</File> </File>
<File <File
RelativePath="..\..\include\CProfiler.h" RelativePath="..\..\include\IProfiler.h"
> >
</File> </File>
<File <File
...@@ -2594,6 +2594,10 @@ ...@@ -2594,6 +2594,10 @@
RelativePath="CProfiler.cpp" RelativePath="CProfiler.cpp"
> >
</File> </File>
<File
RelativePath="CProfiler.h"
>
</File>
<File <File
RelativePath="EProfileIDs.h" RelativePath="EProfileIDs.h"
> >
......
...@@ -310,7 +310,7 @@ ...@@ -310,7 +310,7 @@
RelativePath="..\..\include\IEventReceiver.h"> RelativePath="..\..\include\IEventReceiver.h">
</File> </File>
<File <File
RelativePath="..\..\include\CProfiler.h"> RelativePath="..\..\include\IProfiler.h">
</File> </File>
<File <File
RelativePath="..\..\include\IFileArchive.h"> RelativePath="..\..\include\IFileArchive.h">
...@@ -1443,6 +1443,9 @@ ...@@ -1443,6 +1443,9 @@
<File <File
RelativePath=".\CProfiler.cpp"> RelativePath=".\CProfiler.cpp">
</File> </File>
<File
RelativePath=".\CProfiler.h">
</File>
<File <File
RelativePath=".\EProfileIDs.h"> RelativePath=".\EProfileIDs.h">
</File> </File>
......
...@@ -376,7 +376,7 @@ if "osx" in env["platform"] : ...@@ -376,7 +376,7 @@ if "osx" in env["platform"] :
# sources of the examples # sources of the examples
srcexamples = ["01.HelloWorld", "02.Quake3Map", "03.CustomSceneNode", "04.Movement", "05.UserInterface", "06.2DGraphics", "07.Collision", "08.SpecialFX", "09.Meshviewer", "10.Shaders", "11.PerPixelLighting", "12.TerrainRendering", "13.RenderToTexture", "15.LoadIrrFile", "16.Quake3MapShader", "17.HelloWorld_Mobile", "18.SplitScreen", "19.MouseAndJoystick", "20.ManagedLights", "22.MaterialViewer", "23.SMeshHandling", "24.CursorControl", "25.XmlHandling", "26.OcclusionQuery"] srcexamples = ["01.HelloWorld", "02.Quake3Map", "03.CustomSceneNode", "04.Movement", "05.UserInterface", "06.2DGraphics", "07.Collision", "08.SpecialFX", "09.Meshviewer", "10.Shaders", "11.PerPixelLighting", "12.TerrainRendering", "13.RenderToTexture", "15.LoadIrrFile", "16.Quake3MapShader", "17.HelloWorld_Mobile", "18.SplitScreen", "19.MouseAndJoystick", "20.ManagedLights", "22.MaterialViewer", "23.SMeshHandling", "24.CursorControl", "25.XmlHandling", "26.OcclusionQuery", "30.Profiling"]
if "win" in env["platform"] : if "win" in env["platform"] :
srcexamples.append("14.Win32Window") srcexamples.append("14.Win32Window")
# =================================================================================================================== # ===================================================================================================================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment