From 58efffc51fd54533c32736425783913cfa88111d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Thu, 3 Sep 2020 13:58:45 +0200 Subject: [PATCH] Improve code a bit Prevent converting back and forth the same function pointer --- src/Nazara/OpenGLRenderer/Wrapper/Context.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp b/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp index 7a028282c..be69bde50 100644 --- a/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp +++ b/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp @@ -69,11 +69,13 @@ namespace Nz::GL template bool Load(Func& func, const char* funcName, bool mandatory, bool implementFallback = true) { - FuncType originalFunc = LoadRaw(funcName); - func = originalFunc; + const Loader& loader = context.GetLoader(); + GLFunction originalFuncPtr = loader.LoadFunction(funcName); + + func = reinterpret_cast(originalFuncPtr); #if NAZARA_OPENGLRENDERER_DEBUG - if (originalFunc) + if (func) { if (std::strcmp(funcName, "glGetError") != 0) //< Prevent infinite recursion func = GLWrapper>::template WrapErrorHandling(); @@ -89,18 +91,11 @@ namespace Nz::GL } } - context.m_originalFunctionPointer[FuncIndex] = reinterpret_cast(originalFunc); + context.m_originalFunctionPointer[FuncIndex] = originalFuncPtr; return func != nullptr; } - template - FuncType LoadRaw(const char* funcName) - { - const Loader& loader = context.GetLoader(); - return reinterpret_cast(loader.LoadFunction(funcName)); - } - Context& context; };