Split cascade gpu timer

This commit is contained in:
Vincent Lejeune 2014-09-30 21:39:56 +02:00
parent cbd6d22b41
commit 838e1b63da
4 changed files with 34 additions and 29 deletions

View File

@ -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,

View File

@ -11,6 +11,7 @@
#include "utils/profiler.hpp"
#include "utils/tuple.hpp"
#include "stkscenemanager.hpp"
#include "utils/profiler.hpp"
#include <S3DVertex.h>
@ -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<GLuint> noTexUnits;
renderShadow<MeshShader::ShadowShader, video::EVT_STANDARD, 1>(noTexUnits, cascade, ListMatDefault::getInstance()->Shadows[cascade]);

View File

@ -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",

View File

@ -28,6 +28,34 @@
#include <iostream>
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;