From 838e1b63da9b39b466c8a73dbeb6b720968b1116 Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Tue, 30 Sep 2014 21:39:56 +0200 Subject: [PATCH] Split cascade gpu timer --- src/graphics/irr_driver.hpp | 25 ------------------------- src/graphics/render_geometry.cpp | 5 ++--- src/utils/profiler.cpp | 5 ++++- src/utils/profiler.hpp | 28 ++++++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/graphics/irr_driver.hpp b/src/graphics/irr_driver.hpp index 2b4f121fd..1c90a6413 100644 --- a/src/graphics/irr_driver.hpp +++ b/src/graphics/irr_driver.hpp @@ -108,31 +108,6 @@ enum TypeFBO FBO_COUNT }; -enum QueryPerf -{ - Q_SOLID_PASS1, - Q_SHADOWS, - Q_RSM, - Q_RH, - Q_GI, - Q_ENVMAP, - Q_SUN, - Q_POINTLIGHTS, - Q_SSAO, - Q_SOLID_PASS2, - Q_TRANSPARENT, - Q_PARTICLES, - Q_DISPLACEMENT, - Q_DOF, - Q_GODRAYS, - Q_BLOOM, - Q_TONEMAP, - Q_MOTIONBLUR, - Q_MLAA, - Q_GUI, - Q_LAST -}; - enum TypeRTT { RTT_TMP1 = 0, diff --git a/src/graphics/render_geometry.cpp b/src/graphics/render_geometry.cpp index fca20e664..b0421af7c 100644 --- a/src/graphics/render_geometry.cpp +++ b/src/graphics/render_geometry.cpp @@ -11,6 +11,7 @@ #include "utils/profiler.hpp" #include "utils/tuple.hpp" #include "stkscenemanager.hpp" +#include "utils/profiler.hpp" #include @@ -860,8 +861,6 @@ static void multidrawShadow(unsigned i, Args ...args) void IrrDriver::renderShadows() { - ScopedGPUTimer Timer(getGPUTimer(Q_SHADOWS)); - glDepthFunc(GL_LEQUAL); glDepthMask(GL_TRUE); glEnable(GL_DEPTH_TEST); @@ -875,7 +874,7 @@ void IrrDriver::renderShadows() for (unsigned cascade = 0; cascade < 4; cascade++) { - + ScopedGPUTimer Timer(getGPUTimer(Q_SHADOWS_CASCADE0 + cascade)); std::vector noTexUnits; renderShadow(noTexUnits, cascade, ListMatDefault::getInstance()->Shadows[cascade]); diff --git a/src/utils/profiler.cpp b/src/utils/profiler.cpp index 6df0432dd..48f91e2c7 100644 --- a/src/utils/profiler.cpp +++ b/src/utils/profiler.cpp @@ -31,8 +31,11 @@ static const char* GPU_Phase[Q_LAST] = { + "Shadows Cascade 0", + "Shadows Cascade 1", + "Shadows Cascade 2", + "Shadows Cascade 3", "Solid Pass 1", - "Shadows", "RSM", "RH", "GI", diff --git a/src/utils/profiler.hpp b/src/utils/profiler.hpp index e295f519a..66fd07489 100644 --- a/src/utils/profiler.hpp +++ b/src/utils/profiler.hpp @@ -28,6 +28,34 @@ #include +enum QueryPerf +{ + Q_SHADOWS_CASCADE0, + Q_SHADOWS_CASCADE1, + Q_SHADOWS_CASCADE2, + Q_SHADOWS_CASCADE3, + Q_SOLID_PASS1, + Q_RSM, + Q_RH, + Q_GI, + Q_ENVMAP, + Q_SUN, + Q_POINTLIGHTS, + Q_SSAO, + Q_SOLID_PASS2, + Q_TRANSPARENT, + Q_PARTICLES, + Q_DISPLACEMENT, + Q_DOF, + Q_GODRAYS, + Q_BLOOM, + Q_TONEMAP, + Q_MOTIONBLUR, + Q_MLAA, + Q_GUI, + Q_LAST +}; + class Profiler; extern Profiler profiler;