Add profiler counter for rsm
This commit is contained in:
parent
6f9820b82b
commit
b3b6b05765
@ -112,6 +112,7 @@ enum QueryPerf
|
|||||||
{
|
{
|
||||||
Q_SOLID_PASS1,
|
Q_SOLID_PASS1,
|
||||||
Q_SHADOWS,
|
Q_SHADOWS,
|
||||||
|
Q_RSM,
|
||||||
Q_RH,
|
Q_RH,
|
||||||
Q_GI,
|
Q_GI,
|
||||||
Q_ENVMAP,
|
Q_ENVMAP,
|
||||||
|
@ -300,19 +300,23 @@ void IrrDriver::renderScene(scene::ICameraSceneNode * const camnode, unsigned po
|
|||||||
PROFILER_POP_CPU_MARKER();
|
PROFILER_POP_CPU_MARKER();
|
||||||
// Shadows
|
// Shadows
|
||||||
{
|
{
|
||||||
PROFILER_PUSH_CPU_MARKER("- Shadow", 0x30, 0x6F, 0x90);
|
|
||||||
ScopedGPUTimer Timer(getGPUTimer(Q_SHADOWS));
|
|
||||||
// To avoid wrong culling, use the largest view possible
|
// To avoid wrong culling, use the largest view possible
|
||||||
m_scene_manager->setActiveCamera(m_suncam);
|
m_scene_manager->setActiveCamera(m_suncam);
|
||||||
if (!m_mipviz && !m_wireframe && UserConfigParams::m_dynamic_lights &&
|
if (!m_mipviz && !m_wireframe && UserConfigParams::m_dynamic_lights &&
|
||||||
UserConfigParams::m_shadows && !irr_driver->needUBOWorkaround() && hasShadow)
|
UserConfigParams::m_shadows && !irr_driver->needUBOWorkaround() && hasShadow)
|
||||||
{
|
{
|
||||||
|
PROFILER_PUSH_CPU_MARKER("- Shadow", 0x30, 0x6F, 0x90);
|
||||||
renderShadows();
|
renderShadows();
|
||||||
|
PROFILER_POP_CPU_MARKER();
|
||||||
if (UserConfigParams::m_gi)
|
if (UserConfigParams::m_gi)
|
||||||
|
{
|
||||||
|
PROFILER_PUSH_CPU_MARKER("- RSM", 0xFF, 0x0, 0xFF);
|
||||||
renderRSM();
|
renderRSM();
|
||||||
|
PROFILER_POP_CPU_MARKER();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_scene_manager->setActiveCamera(camnode);
|
m_scene_manager->setActiveCamera(camnode);
|
||||||
PROFILER_POP_CPU_MARKER();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PROFILER_PUSH_CPU_MARKER("- Solid Pass 1", 0xFF, 0x00, 0x00);
|
PROFILER_PUSH_CPU_MARKER("- Solid Pass 1", 0xFF, 0x00, 0x00);
|
||||||
|
@ -791,6 +791,8 @@ static void multidrawShadow(unsigned i, Args ...args)
|
|||||||
|
|
||||||
void IrrDriver::renderShadows()
|
void IrrDriver::renderShadows()
|
||||||
{
|
{
|
||||||
|
ScopedGPUTimer Timer(getGPUTimer(Q_SHADOWS));
|
||||||
|
|
||||||
glDepthFunc(GL_LEQUAL);
|
glDepthFunc(GL_LEQUAL);
|
||||||
glDepthMask(GL_TRUE);
|
glDepthMask(GL_TRUE);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
@ -929,6 +931,7 @@ void multidrawRSM(Args...args)
|
|||||||
|
|
||||||
void IrrDriver::renderRSM()
|
void IrrDriver::renderRSM()
|
||||||
{
|
{
|
||||||
|
ScopedGPUTimer Timer(getGPUTimer(Q_RSM));
|
||||||
m_rtts->getRSM().Bind();
|
m_rtts->getRSM().Bind();
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@ static const char* GPU_Phase[Q_LAST] =
|
|||||||
{
|
{
|
||||||
"Solid Pass 1",
|
"Solid Pass 1",
|
||||||
"Shadows",
|
"Shadows",
|
||||||
|
"RSM",
|
||||||
"RH",
|
"RH",
|
||||||
"GI",
|
"GI",
|
||||||
"Env Map",
|
"Env Map",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user