diff options
Diffstat (limited to 'Source/Core/VideoBackends/OGL/PerfQuery.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/PerfQuery.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Source/Core/VideoBackends/OGL/PerfQuery.cpp b/Source/Core/VideoBackends/OGL/PerfQuery.cpp index a3e9fde0dc..770a082782 100644 --- a/Source/Core/VideoBackends/OGL/PerfQuery.cpp +++ b/Source/Core/VideoBackends/OGL/PerfQuery.cpp @@ -2,6 +2,8 @@ // Licensed under GPLv2+ // Refer to the license.txt file included. +#include <memory> + #include "Common/GL/GLInterfaceBase.h" #include "Common/GL/GLUtil.h" @@ -10,15 +12,16 @@ namespace OGL { -PerfQueryBase* GetPerfQuery() +std::unique_ptr<PerfQueryBase> GetPerfQuery() { if (GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGLES3 && GLExtensions::Supports("GL_NV_occlusion_query_samples")) - return new PerfQueryGLESNV(); - else if (GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGLES3) - return new PerfQueryGL(GL_ANY_SAMPLES_PASSED); - else - return new PerfQueryGL(GL_SAMPLES_PASSED); + return std::make_unique<PerfQueryGLESNV>(); + + if (GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGLES3) + return std::make_unique<PerfQueryGL>(GL_ANY_SAMPLES_PASSED); + + return std::make_unique<PerfQueryGL>(GL_SAMPLES_PASSED); } PerfQuery::PerfQuery() |
