From: Carl Worth Date: Fri, 1 Nov 2013 23:12:12 +0000 (-0700) Subject: fips-dispatch: Add functions necessary for GL_TIMESTAMP queries X-Git-Url: https://git.cworth.org/git?p=fips;a=commitdiff_plain;h=ec6fb3e9d202bebf02eb8676b9de98711c64956f fips-dispatch: Add functions necessary for GL_TIMESTAMP queries We're about to start making GL_TIMESTAMP queries in fips, so we need the GL_TIMESTAMP enum, as well as glQueryCounter, glGetIntegerv64, and glGetQueryObjecti64v. While at it, add a couple of related functions such as glGetQueryObjectiv, and glGetQueryObjectui64v. --- diff --git a/fips-dispatch-gl.c b/fips-dispatch-gl.c index d8c01c3..368a9e7 100644 --- a/fips-dispatch-gl.c +++ b/fips-dispatch-gl.c @@ -63,6 +63,17 @@ stub_glGetIntegerv (GLenum pname, GLint * params) PFNGLGETINTEGERVPROC fips_dispatch_glGetIntegerv = stub_glGetIntegerv; +static void +stub_glGetInteger64v (GLenum pname, GLint64 * params) +{ + check_initialized (); + resolve (fips_dispatch_glGetInteger64v, "glGetInteger64v"); + fips_dispatch_glGetInteger64v (pname, params); +} + +PFNGLGETINTEGER64VPROC fips_dispatch_glGetInteger64v = + stub_glGetInteger64v; + static const GLubyte * stub_glGetString (GLenum name) { @@ -126,6 +137,29 @@ stub_glEndQuery (GLenum target) PFNGLENDQUERYPROC fips_dispatch_glEndQuery = stub_glEndQuery; +static void +stub_glQueryCounter (GLuint id, GLenum target) +{ + check_initialized (); + resolve2 (fips_dispatch_glQueryCounter, + "glQueryCounter", "glQueryCounterARB"); + fips_dispatch_glQueryCounter (id, target); +} + +PFNGLQUERYCOUNTERPROC fips_dispatch_glQueryCounter = stub_glQueryCounter; + +static void +stub_glGetQueryObjectiv (GLuint id, GLenum pname, GLint * params) +{ + check_initialized (); + resolve2 (fips_dispatch_glGetQueryObjectiv, + "glGetQueryObjectiv", "glGetQueryObjectivARB"); + fips_dispatch_glGetQueryObjectiv (id, pname, params); +} + +PFNGLGETQUERYOBJECTIVPROC fips_dispatch_glGetQueryObjectiv = + stub_glGetQueryObjectiv; + static void stub_glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint * params) { @@ -138,6 +172,30 @@ stub_glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint * params) PFNGLGETQUERYOBJECTUIVPROC fips_dispatch_glGetQueryObjectuiv = stub_glGetQueryObjectuiv; +static void +stub_glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 * params) +{ + check_initialized (); + resolve2 (fips_dispatch_glGetQueryObjecti64v, + "glGetQueryObjecti64v", "glGetQueryObjecti64vARB"); + fips_dispatch_glGetQueryObjecti64v (id, pname, params); +} + +PFNGLGETQUERYOBJECTI64VPROC fips_dispatch_glGetQueryObjecti64v = + stub_glGetQueryObjecti64v; + +static void +stub_glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 * params) +{ + check_initialized (); + resolve2 (fips_dispatch_glGetQueryObjectui64v, + "glGetQueryObjectui64v", "glGetQueryObjectui64vARB"); + fips_dispatch_glGetQueryObjectui64v (id, pname, params); +} + +PFNGLGETQUERYOBJECTUI64VPROC fips_dispatch_glGetQueryObjectui64v = + stub_glGetQueryObjectui64v; + static void stub_glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups) diff --git a/fips-dispatch-gl.h b/fips-dispatch-gl.h index 60d9a8e..a85dcaf 100644 --- a/fips-dispatch-gl.h +++ b/fips-dispatch-gl.h @@ -81,13 +81,18 @@ typedef char GLcharARB; typedef unsigned int GLhandleARB; typedef void (*PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params); +typedef void (*PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params); typedef const GLubyte* (*PFNGLGETSTRINGPROC)(GLenum name); typedef const GLubyte* (*PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); typedef void (*PFNGLGENQUERIESPROC)(GLsizei, GLuint *); typedef void (*PFNGLDELETEQUERIESPROC)(GLsizei, const GLuint *); typedef void (*PFNGLBEGINQUERYPROC)(GLenum, GLuint); typedef void (*PFNGLENDQUERYPROC)(GLenum); +typedef void (*PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); +typedef void (*PFNGLGETQUERYOBJECTIVPROC)(GLuint, GLenum, GLint *); typedef void (*PFNGLGETQUERYOBJECTUIVPROC)(GLuint, GLenum, GLuint *); +typedef void (*PFNGLGETQUERYOBJECTI64VPROC)(GLuint, GLenum, GLint64 *); +typedef void (*PFNGLGETQUERYOBJECTUI64VPROC)(GLuint, GLenum, GLuint64 *); typedef void (*PFNGLGETPERFMONITORGROUPSAMDPROC)(GLint *, GLsizei, GLuint *); typedef void (*PFNGLGETPERFMONITORCOUNTERSAMDPROC)(GLuint, GLint *, GLint *, @@ -110,6 +115,9 @@ typedef void (*PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)(GLuint, GLenum, extern PFNGLGETINTEGERVPROC fips_dispatch_glGetIntegerv; #define glGetIntegerv fips_dispatch_glGetIntegerv +extern PFNGLGETINTEGER64VPROC fips_dispatch_glGetInteger64v; +#define glGetInteger64v fips_dispatch_glGetInteger64v + extern PFNGLGETSTRINGPROC fips_dispatch_glGetString; #define glGetString fips_dispatch_glGetString @@ -119,6 +127,7 @@ extern PFNGLGETSTRINGIPROC fips_dispatch_glGetStringi; #define GL_QUERY_RESULT 0x8866 #define GL_QUERY_RESULT_AVAILABLE 0x8867 #define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 extern PFNGLGENQUERIESPROC fips_dispatch_glGenQueries; #define glGenQueries fips_dispatch_glGenQueries @@ -132,9 +141,21 @@ extern PFNGLBEGINQUERYPROC fips_dispatch_glBeginQuery; extern PFNGLENDQUERYPROC fips_dispatch_glEndQuery; #define glEndQuery fips_dispatch_glEndQuery +extern PFNGLQUERYCOUNTERPROC fips_dispatch_glQueryCounter; +#define glQueryCounter fips_dispatch_glQueryCounter + +extern PFNGLGETQUERYOBJECTIVPROC fips_dispatch_glGetQueryObjectiv; +#define glGetQueryObjectiv fips_dispatch_glGetQueryObjectiv + extern PFNGLGETQUERYOBJECTUIVPROC fips_dispatch_glGetQueryObjectuiv; #define glGetQueryObjectuiv fips_dispatch_glGetQueryObjectuiv +extern PFNGLGETQUERYOBJECTI64VPROC fips_dispatch_glGetQueryObjecti64v; +#define glGetQueryObjecti64v fips_dispatch_glGetQueryObjecti64v + +extern PFNGLGETQUERYOBJECTUI64VPROC fips_dispatch_glGetQueryObjectui64v; +#define glGetQueryObjectui64v fips_dispatch_glGetQueryObjectui64v + #define GL_COUNTER_TYPE_AMD 0x8BC0 #define GL_COUNTER_RANGE_AMD 0x8BC1 #define GL_UNSIGNED_INT64_AMD 0x8BC2