From c27d7ce0b3ce5a2b9b753a654fdebcc1627aae52 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Mon, 4 Nov 2013 15:43:41 -0800 Subject: [PATCH] dispatch: Add support for glGetIntegerv, glGetString, and glGetStringi We're going to need this when we do detection of available extensions soon. --- fips-dispatch-gl.c | 30 ++++++++++++++++++++++++++++++ fips-dispatch-gl.h | 14 ++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/fips-dispatch-gl.c b/fips-dispatch-gl.c index 1154058..d8c01c3 100644 --- a/fips-dispatch-gl.c +++ b/fips-dispatch-gl.c @@ -53,6 +53,36 @@ unsupported (const char *name) if (! dispatch) \ unsupported (name_a); +static void +stub_glGetIntegerv (GLenum pname, GLint * params) +{ + check_initialized (); + resolve (fips_dispatch_glGetIntegerv, "glGetIntegerv"); + fips_dispatch_glGetIntegerv (pname, params); +} + +PFNGLGETINTEGERVPROC fips_dispatch_glGetIntegerv = stub_glGetIntegerv; + +static const GLubyte * +stub_glGetString (GLenum name) +{ + check_initialized (); + resolve (fips_dispatch_glGetString, "glGetString"); + return fips_dispatch_glGetString (name); +} + +PFNGLGETSTRINGPROC fips_dispatch_glGetString = stub_glGetString; + +static const GLubyte * +stub_glGetStringi (GLenum name, GLuint index) +{ + check_initialized (); + resolve (fips_dispatch_glGetStringi, "glGetStringi"); + return fips_dispatch_glGetStringi (name, index); +} + +PFNGLGETSTRINGIPROC fips_dispatch_glGetStringi = stub_glGetStringi; + static void stub_glGenQueries (GLsizei n, GLuint *ids) { diff --git a/fips-dispatch-gl.h b/fips-dispatch-gl.h index 494d8e1..60d9a8e 100644 --- a/fips-dispatch-gl.h +++ b/fips-dispatch-gl.h @@ -49,6 +49,8 @@ #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 #define GL_DOUBLE 0x140A +#define GL_EXTENSIONS 0x1F03 +#define GL_NUM_EXTENSIONS 0x821D typedef unsigned int GLenum; typedef unsigned int GLbitfield; @@ -78,6 +80,9 @@ typedef ptrdiff_t GLsizeiptrARB; typedef char GLcharARB; typedef unsigned int GLhandleARB; +typedef void (*PFNGLGETINTEGERVPROC) (GLenum pname, GLint *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); @@ -102,6 +107,15 @@ typedef void (*PFNGLENDPERFMONITORAMDPROC)(GLuint); typedef void (*PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)(GLuint, GLenum, GLsizei, GLuint *, GLint *); +extern PFNGLGETINTEGERVPROC fips_dispatch_glGetIntegerv; +#define glGetIntegerv fips_dispatch_glGetIntegerv + +extern PFNGLGETSTRINGPROC fips_dispatch_glGetString; +#define glGetString fips_dispatch_glGetString + +extern PFNGLGETSTRINGIPROC fips_dispatch_glGetStringi; +#define glGetStringi fips_dispatch_glGetStringi + #define GL_QUERY_RESULT 0x8866 #define GL_QUERY_RESULT_AVAILABLE 0x8867 #define GL_TIME_ELAPSED 0x88BF -- 2.43.0