queryobj.h revision 848b8605
1/* 2 * Mesa 3-D graphics library 3 * 4 * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a 7 * copy of this software and associated documentation files (the "Software"), 8 * to deal in the Software without restriction, including without limitation 9 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 * and/or sell copies of the Software, and to permit persons to whom the 11 * Software is furnished to do so, subject to the following conditions: 12 * 13 * The above copyright notice and this permission notice shall be included 14 * in all copies or substantial portions of the Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 * OTHER DEALINGS IN THE SOFTWARE. 23 */ 24 25 26#ifndef QUERYOBJ_H 27#define QUERYOBJ_H 28 29 30#include "main/mtypes.h" 31#include "main/hash.h" 32 33 34static inline struct gl_query_object * 35_mesa_lookup_query_object(struct gl_context *ctx, GLuint id) 36{ 37 return (struct gl_query_object *) 38 _mesa_HashLookup(ctx->Query.QueryObjects, id); 39} 40 41 42extern void 43_mesa_init_query_object_functions(struct dd_function_table *driver); 44 45extern void 46_mesa_init_queryobj(struct gl_context *ctx); 47 48extern void 49_mesa_free_queryobj_data(struct gl_context *ctx); 50 51void GLAPIENTRY 52_mesa_GenQueries(GLsizei n, GLuint *ids); 53void GLAPIENTRY 54_mesa_DeleteQueries(GLsizei n, const GLuint *ids); 55GLboolean GLAPIENTRY 56_mesa_IsQuery(GLuint id); 57void GLAPIENTRY 58_mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id); 59void GLAPIENTRY 60_mesa_EndQueryIndexed(GLenum target, GLuint index); 61void GLAPIENTRY 62_mesa_BeginQuery(GLenum target, GLuint id); 63void GLAPIENTRY 64_mesa_EndQuery(GLenum target); 65void GLAPIENTRY 66_mesa_QueryCounter(GLuint id, GLenum target); 67void GLAPIENTRY 68_mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname, 69 GLint *params); 70void GLAPIENTRY 71_mesa_GetQueryiv(GLenum target, GLenum pname, GLint *params); 72void GLAPIENTRY 73_mesa_GetQueryObjectiv(GLuint id, GLenum pname, GLint *params); 74void GLAPIENTRY 75_mesa_GetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params); 76void GLAPIENTRY 77_mesa_GetQueryObjecti64v(GLuint id, GLenum pname, GLint64EXT *params); 78void GLAPIENTRY 79_mesa_GetQueryObjectui64v(GLuint id, GLenum pname, GLuint64EXT *params); 80 81#endif /* QUERYOBJ_H */ 82