Path: blob/21.2-virgl/src/gallium/drivers/llvmpipe/lp_query.h
4570 views
/**************************************************************************1*2* Copyright 2007 VMware, Inc.3* Copyright 2010 VMware, Inc.4* All Rights Reserved.5*6* Permission is hereby granted, free of charge, to any person obtaining a7* copy of this software and associated documentation files (the8* "Software"), to deal in the Software without restriction, including9* without limitation the rights to use, copy, modify, merge, publish,10* distribute, sub license, and/or sell copies of the Software, and to11* permit persons to whom the Software is furnished to do so, subject to12* the following conditions:13*14* The above copyright notice and this permission notice (including the15* next paragraph) shall be included in all copies or substantial portions16* of the Software.17*18* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS19* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF20* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.21* IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR22* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,23* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE24* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.25*26**************************************************************************/2728/* Authors:29* Keith Whitwell, Qicheng Christopher Li, Brian Paul30*/3132#ifndef LP_QUERY_H33#define LP_QUERY_H3435#include <limits.h>36#include "os/os_thread.h"37#include "lp_limits.h"383940struct llvmpipe_context;414243struct llvmpipe_query {44uint64_t start[LP_MAX_THREADS]; /* start count value for each thread */45uint64_t end[LP_MAX_THREADS]; /* end count value for each thread */46struct lp_fence *fence; /* fence from last scene this was binned in */47unsigned type; /* PIPE_QUERY_* */48unsigned index;49unsigned num_primitives_generated[PIPE_MAX_VERTEX_STREAMS];50unsigned num_primitives_written[PIPE_MAX_VERTEX_STREAMS];5152struct pipe_query_data_pipeline_statistics stats;53};545556extern void llvmpipe_init_query_funcs(struct llvmpipe_context * );5758extern boolean llvmpipe_check_render_cond(struct llvmpipe_context *);5960#endif /* LP_QUERY_H */616263