From c742c0532cd0a5f47bb704163532aba0dfd41ccb Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@bred.dog> Date: Mon, 17 Aug 2020 19:18:59 -0400 Subject: [PATCH] Use dummy VAO when doing benchmark in GL Core --- indra/newview/llglsandbox.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 56b70e1e129..852dc07efe7 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -1034,6 +1034,31 @@ class ShaderBinder LLGLSLShader& mShader; }; +class VAOHolder +{ +public: + VAOHolder() = default; + ~VAOHolder() + { +#ifdef GL_ARB_vertex_array_object + if (vaoName != 0) + { + glDeleteVertexArrays(1, &vaoName); + } +#endif + } + + void genVAO() + { +#ifdef GL_ARB_vertex_array_object + glGenVertexArrays(1, &vaoName); + glBindVertexArray(vaoName); +#endif + } + +private: + GLuint vaoName = 0; +}; //----------------------------------------------------------------------------- // gpu_benchmark() @@ -1047,6 +1072,12 @@ F32 gpu_benchmark() return -1.f; } + VAOHolder dummVAO; + if (LLRender::sGLCoreProfile) + { + dummVAO.genVAO(); + } + if (gBenchmarkProgram.mProgramObject == 0) { LLViewerShaderMgr::instance()->initAttribsAndUniforms(); -- GitLab