diff options
Diffstat (limited to 'src/mesa/main/queryobj.c')
| -rw-r--r-- | src/mesa/main/queryobj.c | 48 | 
1 files changed, 29 insertions, 19 deletions
| diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index a73c6e0508..f6eb4ee7e1 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -29,6 +29,10 @@  #include "imports.h"  #include "queryobj.h"  #include "mtypes.h" +#include "glapi/dispatch.h" + + +#if FEATURE_queryobj  /** @@ -216,7 +220,7 @@ _mesa_IsQueryARB(GLuint id)  } -void GLAPIENTRY +static void GLAPIENTRY  _mesa_BeginQueryARB(GLenum target, GLuint id)  {     struct gl_query_object *q; @@ -236,7 +240,6 @@ _mesa_BeginQueryARB(GLenum target, GLuint id)              return;           }           break; -#if FEATURE_EXT_timer_query        case GL_TIME_ELAPSED_EXT:           if (!ctx->Extensions.EXT_timer_query) {              _mesa_error(ctx, GL_INVALID_ENUM, "glBeginQueryARB(target)"); @@ -247,7 +250,6 @@ _mesa_BeginQueryARB(GLenum target, GLuint id)              return;           }           break; -#endif        default:           _mesa_error(ctx, GL_INVALID_ENUM, "glBeginQueryARB(target)");           return; @@ -285,17 +287,15 @@ _mesa_BeginQueryARB(GLenum target, GLuint id)     if (target == GL_SAMPLES_PASSED_ARB) {        ctx->Query.CurrentOcclusionObject = q;     } -#if FEATURE_EXT_timer_query     else if (target == GL_TIME_ELAPSED_EXT) {        ctx->Query.CurrentTimerObject = q;     } -#endif     ctx->Driver.BeginQuery(ctx, q);  } -void GLAPIENTRY +static void GLAPIENTRY  _mesa_EndQueryARB(GLenum target)  {     struct gl_query_object *q; @@ -313,7 +313,6 @@ _mesa_EndQueryARB(GLenum target)           q = ctx->Query.CurrentOcclusionObject;           ctx->Query.CurrentOcclusionObject = NULL;           break; -#if FEATURE_EXT_timer_query        case GL_TIME_ELAPSED_EXT:           if (!ctx->Extensions.EXT_timer_query) {              _mesa_error(ctx, GL_INVALID_ENUM, "glEndQueryARB(target)"); @@ -322,7 +321,6 @@ _mesa_EndQueryARB(GLenum target)           q = ctx->Query.CurrentTimerObject;           ctx->Query.CurrentTimerObject = NULL;           break; -#endif        default:           _mesa_error(ctx, GL_INVALID_ENUM, "glEndQueryARB(target)");           return; @@ -354,7 +352,6 @@ _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)           }           q = ctx->Query.CurrentOcclusionObject;           break; -#if FEATURE_EXT_timer_query        case GL_TIME_ELAPSED_EXT:           if (!ctx->Extensions.EXT_timer_query) {              _mesa_error(ctx, GL_INVALID_ENUM, "glEndQueryARB(target)"); @@ -362,7 +359,6 @@ _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)           }           q = ctx->Query.CurrentTimerObject;           break; -#endif        default:           _mesa_error(ctx, GL_INVALID_ENUM, "glGetQueryivARB(target)");           return; @@ -462,12 +458,10 @@ _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params)  } -#if FEATURE_EXT_timer_query -  /**   * New with GL_EXT_timer_query   */ -void GLAPIENTRY +static void GLAPIENTRY  _mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params)  {     struct gl_query_object *q = NULL; @@ -504,7 +498,7 @@ _mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params)  /**   * New with GL_EXT_timer_query   */ -void GLAPIENTRY +static void GLAPIENTRY  _mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params)  {     struct gl_query_object *q = NULL; @@ -537,19 +531,35 @@ _mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params)     }  } -#endif /* FEATURE_EXT_timer_query */ + +void +_mesa_init_queryobj_dispatch(struct _glapi_table *disp) +{ +   SET_GenQueriesARB(disp, _mesa_GenQueriesARB); +   SET_DeleteQueriesARB(disp, _mesa_DeleteQueriesARB); +   SET_IsQueryARB(disp, _mesa_IsQueryARB); +   SET_BeginQueryARB(disp, _mesa_BeginQueryARB); +   SET_EndQueryARB(disp, _mesa_EndQueryARB); +   SET_GetQueryivARB(disp, _mesa_GetQueryivARB); +   SET_GetQueryObjectivARB(disp, _mesa_GetQueryObjectivARB); +   SET_GetQueryObjectuivARB(disp, _mesa_GetQueryObjectuivARB); + +   SET_GetQueryObjecti64vEXT(disp, _mesa_GetQueryObjecti64vEXT); +   SET_GetQueryObjectui64vEXT(disp, _mesa_GetQueryObjectui64vEXT); +} + + +#endif /* FEATURE_queryobj */  /**   * Allocate/init the context state related to query objects.   */  void -_mesa_init_query(GLcontext *ctx) +_mesa_init_queryobj(GLcontext *ctx)  { -#if FEATURE_ARB_occlusion_query     ctx->Query.QueryObjects = _mesa_NewHashTable();     ctx->Query.CurrentOcclusionObject = NULL; -#endif  } @@ -569,7 +579,7 @@ delete_queryobj_cb(GLuint id, void *data, void *userData)   * Free the context state related to query objects.   */  void -_mesa_free_query_data(GLcontext *ctx) +_mesa_free_queryobj_data(GLcontext *ctx)  {     _mesa_HashDeleteAll(ctx->Query.QueryObjects, delete_queryobj_cb, ctx);     _mesa_DeleteHashTable(ctx->Query.QueryObjects); | 
