101efb1dd8f5e14e8c034e0100f76472d89f811afBrian/************************************************************************** 201efb1dd8f5e14e8c034e0100f76472d89f811afBrian * 301efb1dd8f5e14e8c034e0100f76472d89f811afBrian * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. 401efb1dd8f5e14e8c034e0100f76472d89f811afBrian * All Rights Reserved. 501efb1dd8f5e14e8c034e0100f76472d89f811afBrian * 601efb1dd8f5e14e8c034e0100f76472d89f811afBrian * Permission is hereby granted, free of charge, to any person obtaining a 701efb1dd8f5e14e8c034e0100f76472d89f811afBrian * copy of this software and associated documentation files (the 801efb1dd8f5e14e8c034e0100f76472d89f811afBrian * "Software"), to deal in the Software without restriction, including 901efb1dd8f5e14e8c034e0100f76472d89f811afBrian * without limitation the rights to use, copy, modify, merge, publish, 1001efb1dd8f5e14e8c034e0100f76472d89f811afBrian * distribute, sub license, and/or sell copies of the Software, and to 1101efb1dd8f5e14e8c034e0100f76472d89f811afBrian * permit persons to whom the Software is furnished to do so, subject to 1201efb1dd8f5e14e8c034e0100f76472d89f811afBrian * the following conditions: 1301efb1dd8f5e14e8c034e0100f76472d89f811afBrian * 1401efb1dd8f5e14e8c034e0100f76472d89f811afBrian * The above copyright notice and this permission notice (including the 1501efb1dd8f5e14e8c034e0100f76472d89f811afBrian * next paragraph) shall be included in all copies or substantial portions 1601efb1dd8f5e14e8c034e0100f76472d89f811afBrian * of the Software. 1701efb1dd8f5e14e8c034e0100f76472d89f811afBrian * 1801efb1dd8f5e14e8c034e0100f76472d89f811afBrian * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 1901efb1dd8f5e14e8c034e0100f76472d89f811afBrian * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2001efb1dd8f5e14e8c034e0100f76472d89f811afBrian * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 2101efb1dd8f5e14e8c034e0100f76472d89f811afBrian * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 2201efb1dd8f5e14e8c034e0100f76472d89f811afBrian * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 2301efb1dd8f5e14e8c034e0100f76472d89f811afBrian * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 2401efb1dd8f5e14e8c034e0100f76472d89f811afBrian * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2501efb1dd8f5e14e8c034e0100f76472d89f811afBrian * 2601efb1dd8f5e14e8c034e0100f76472d89f811afBrian **************************************************************************/ 2701efb1dd8f5e14e8c034e0100f76472d89f811afBrian 2801efb1dd8f5e14e8c034e0100f76472d89f811afBrian#ifndef ST_CB_QUERYOBJ_H 2901efb1dd8f5e14e8c034e0100f76472d89f811afBrian#define ST_CB_QUERYOBJ_H 3001efb1dd8f5e14e8c034e0100f76472d89f811afBrian 3101efb1dd8f5e14e8c034e0100f76472d89f811afBrian 32edc09358f72cd48cb2315daf23c82e7646aeaea3Vinson Lee#include "main/mfeatures.h" 3316775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu#include "main/mtypes.h" 3416775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu 35f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul/** 36f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul * Subclass of gl_query_object 37f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul */ 38f1b382d2e66855d49354356f2d3209652aaf5987Brian Paulstruct st_query_object 39f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul{ 40f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul struct gl_query_object base; 41f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul struct pipe_query *pq; 421e0afa695b56665ad89771589d728b2479a7b081Brian Paul unsigned type; /**< PIPE_QUERY_x */ 43f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul}; 44f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul 45f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul 46f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul/** 47f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul * Cast wrapper 48f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul */ 49f1b382d2e66855d49354356f2d3209652aaf5987Brian Paulstatic INLINE struct st_query_object * 50f1b382d2e66855d49354356f2d3209652aaf5987Brian Paulst_query_object(struct gl_query_object *q) 51f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul{ 52f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul return (struct st_query_object *) q; 53f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul} 54f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul 55f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul 5616775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu#if FEATURE_queryobj 57f1b382d2e66855d49354356f2d3209652aaf5987Brian Paul 5801efb1dd8f5e14e8c034e0100f76472d89f811afBrianextern void 5901efb1dd8f5e14e8c034e0100f76472d89f811afBrianst_init_query_functions(struct dd_function_table *functions); 6001efb1dd8f5e14e8c034e0100f76472d89f811afBrian 6116775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu#else 6216775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu 6316775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wustatic INLINE void 6416775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wust_init_query_functions(struct dd_function_table *functions) 6516775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu{ 6616775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu} 6716775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu 6816775f4951e4a515167a8ec4115b692c256c5f16Chia-I Wu#endif /* FEATURE_queryobj */ 6901efb1dd8f5e14e8c034e0100f76472d89f811afBrian 7001efb1dd8f5e14e8c034e0100f76472d89f811afBrian#endif 71