From 0f8f4d63b0e4f1853050c5c9046837e606a418e9 Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 29 Mar 2015 18:11:12 +0200 Subject: [PATCH] Only query glVertexAttribIPointer when GL version >= 3.0 --- .../src/glstuff/glGraphicsStateGuardian_src.cxx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx index 76087d4644..b623cb655f 100644 --- a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx +++ b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx @@ -1310,10 +1310,19 @@ reset() { get_extension_func("glValidateProgram"); _glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) get_extension_func("glVertexAttribPointer"); - _glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) - get_extension_func("glVertexAttribIPointer"); - _glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) - get_extension_func("glVertexAttribLPointer"); + + if (is_at_least_gl_version(3, 0)) { + _glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) + get_extension_func("glVertexAttribIPointer"); + } else { + _glVertexAttribIPointer = NULL; + } + if (has_extension("GL_ARB_vertex_attrib_64bit")) { + _glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) + get_extension_func("glVertexAttribLPointer"); + } else { + _glVertexAttribLPointer = NULL; + } if (_supports_geometry_shaders) { _glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)