summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/PerfQuery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/PerfQuery.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/PerfQuery.cpp15
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()