]> git.cworth.org Git - fips/commitdiff
fips-dispatch: Add functions necessary for GL_TIMESTAMP queries
authorCarl Worth <cworth@cworth.org>
Fri, 1 Nov 2013 23:12:12 +0000 (16:12 -0700)
committerCarl Worth <cworth@cworth.org>
Mon, 11 Nov 2013 18:31:42 +0000 (10:31 -0800)
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.

fips-dispatch-gl.c
fips-dispatch-gl.h

index d8c01c357cdcc4b86d24fc400eabcdee804f21b0..368a9e74ad5dc2e60acf1bda50113b8ddfde5543 100644 (file)
@@ -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)
index 60d9a8e13106faec2b178254bd0a93ac979388a0..a85dcafbca7ae01fb17633464716fd54fe5bd4fe 100644 (file)
@@ -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