From 66a64fb71c44dbd3409f02fd169acddc707210c1 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 6 Sep 2013 17:17:47 +0200 Subject: [PATCH] Fixed GpuQuery bug Also added GpuQuery::GetOpenGLID() Former-commit-id: 2a5d01a945ffeb576b5dce6756dbffcc511c237c --- include/Nazara/Renderer/GpuQuery.hpp | 4 ++++ src/Nazara/Renderer/GpuQuery.cpp | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/Nazara/Renderer/GpuQuery.hpp b/include/Nazara/Renderer/GpuQuery.hpp index 16558236d..6a10c78c5 100644 --- a/include/Nazara/Renderer/GpuQuery.hpp +++ b/include/Nazara/Renderer/GpuQuery.hpp @@ -24,10 +24,14 @@ class NAZARA_API NzGpuQuery : NzNonCopyable bool IsResultAvailable() const; + // Fonctions OpenGL + unsigned int GetOpenGLID() const; + static bool IsModeSupported(nzGpuQueryMode mode); static bool IsSupported(); private: + nzGpuQueryMode m_mode; unsigned int m_id; }; diff --git a/src/Nazara/Renderer/GpuQuery.cpp b/src/Nazara/Renderer/GpuQuery.cpp index cb8c80d12..e03fc4ff0 100644 --- a/src/Nazara/Renderer/GpuQuery.cpp +++ b/src/Nazara/Renderer/GpuQuery.cpp @@ -64,6 +64,7 @@ void NzGpuQuery::Begin(nzGpuQueryMode mode) } #endif + m_mode = mode; glBeginQuery(NzOpenGL::QueryMode[mode], m_id); } @@ -77,7 +78,7 @@ void NzGpuQuery::End() } #endif - glEndQuery(GL_SAMPLES_PASSED); + glEndQuery(NzOpenGL::QueryMode[m_mode]); } unsigned int NzGpuQuery::GetResult() const @@ -100,6 +101,11 @@ bool NzGpuQuery::IsResultAvailable() const return available == GL_TRUE; } +unsigned int NzGpuQuery::GetOpenGLID() const +{ + return m_id; +} + bool NzGpuQuery::IsModeSupported(nzGpuQueryMode mode) { switch (mode)