diff --git a/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.cpp b/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.cpp index 78f59514d9..fd6dc2485a 100644 --- a/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.cpp +++ b/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.cpp @@ -776,6 +776,15 @@ PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup; PFNGLBUFFERSTORAGEPROC glBufferStorage; PFNGLNAMEDBUFFERSTORAGEEXTPROC glNamedBufferStorageEXT; +// GL_NV_occlusion_query_samples +PFNGLGENOCCLUSIONQUERIESNVPROC glGenOcclusionQueriesNV; +PFNGLDELETEOCCLUSIONQUERIESNVPROC glDeleteOcclusionQueriesNV; +PFNGLISOCCLUSIONQUERYNVPROC glIsOcclusionQueryNV; +PFNGLBEGINOCCLUSIONQUERYNVPROC glBeginOcclusionQueryNV; +PFNGLENDOCCLUSIONQUERYNVPROC glEndOcclusionQueryNV; +PFNGLGETOCCLUSIONQUERYIVNVPROC glGetOcclusionQueryivNV; +PFNGLGETOCCLUSIONQUERYUIVNVPROC glGetOcclusionQueryuivNV; + // Creates a GLFunc object that requires a feature #define GLFUNC_REQUIRES(x, y) { (void**)&x, #x, y } // Creates a GLFunc object with a different function suffix @@ -1254,6 +1263,15 @@ const GLFunc gl_function_array[] = // EXT_geometry_shader GLFUNC_SUFFIX(glFramebufferTexture, EXT, "GL_EXT_geometry_shader !VERSION_3_2"), + // NV_occlusion_query_samples + GLFUNC_REQUIRES(glGenOcclusionQueriesNV, "GL_NV_occlusion_query_samples"), + GLFUNC_REQUIRES(glDeleteOcclusionQueriesNV, "GL_NV_occlusion_query_samples"), + GLFUNC_REQUIRES(glIsOcclusionQueryNV, "GL_NV_occlusion_query_samples"), + GLFUNC_REQUIRES(glBeginOcclusionQueryNV, "GL_NV_occlusion_query_samples"), + GLFUNC_REQUIRES(glEndOcclusionQueryNV, "GL_NV_occlusion_query_samples"), + GLFUNC_REQUIRES(glGetOcclusionQueryivNV, "GL_NV_occlusion_query_samples"), + GLFUNC_REQUIRES(glGetOcclusionQueryuivNV, "GL_NV_occlusion_query_samples"), + // gl_1_1 // OpenGL 1.1 is at the end due to a bug in Android's EGL stack. // eglGetProcAddress can only return a finite amount of function pointers diff --git a/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.h b/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.h index ccc835eae6..7645fcd8c3 100644 --- a/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.h +++ b/Source/Core/VideoBackends/OGL/GLExtensions/GLExtensions.h @@ -31,6 +31,7 @@ #include "VideoBackends/OGL/GLExtensions/gl_3_1.h" #include "VideoBackends/OGL/GLExtensions/gl_3_2.h" #include "VideoBackends/OGL/GLExtensions/KHR_debug.h" +#include "VideoBackends/OGL/GLExtensions/NV_occlusion_query_samples.h" #include "VideoBackends/OGL/GLExtensions/NV_primitive_restart.h" namespace GLExtensions diff --git a/Source/Core/VideoBackends/OGL/GLExtensions/NV_occlusion_query_samples.h b/Source/Core/VideoBackends/OGL/GLExtensions/NV_occlusion_query_samples.h new file mode 100644 index 0000000000..10020e230b --- /dev/null +++ b/Source/Core/VideoBackends/OGL/GLExtensions/NV_occlusion_query_samples.h @@ -0,0 +1,13 @@ +// Copyright 2013 Dolphin Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#include "VideoBackends/OGL/GLExtensions/gl_common.h" + +extern PFNGLGENOCCLUSIONQUERIESNVPROC glGenOcclusionQueriesNV; +extern PFNGLDELETEOCCLUSIONQUERIESNVPROC glDeleteOcclusionQueriesNV; +extern PFNGLISOCCLUSIONQUERYNVPROC glIsOcclusionQueryNV; +extern PFNGLBEGINOCCLUSIONQUERYNVPROC glBeginOcclusionQueryNV; +extern PFNGLENDOCCLUSIONQUERYNVPROC glEndOcclusionQueryNV; +extern PFNGLGETOCCLUSIONQUERYIVNVPROC glGetOcclusionQueryivNV; +extern PFNGLGETOCCLUSIONQUERYUIVNVPROC glGetOcclusionQueryuivNV; diff --git a/Source/Core/VideoBackends/OGL/OGL.vcxproj b/Source/Core/VideoBackends/OGL/OGL.vcxproj index 1b60169220..8e8bbdcf2b 100644 --- a/Source/Core/VideoBackends/OGL/OGL.vcxproj +++ b/Source/Core/VideoBackends/OGL/OGL.vcxproj @@ -83,6 +83,7 @@ + diff --git a/Source/Core/VideoBackends/OGL/OGL.vcxproj.filters b/Source/Core/VideoBackends/OGL/OGL.vcxproj.filters index 8e65e8e2f5..9483aecbca 100644 --- a/Source/Core/VideoBackends/OGL/OGL.vcxproj.filters +++ b/Source/Core/VideoBackends/OGL/OGL.vcxproj.filters @@ -187,6 +187,9 @@ GLExtensions + + GLExtensions + GLExtensions