static bool fd_end_query(struct pipe_context *pctx, struct pipe_query *pq) { struct fd_query *q = fd_query(pq); q->funcs->end_query(fd_context(pctx), q); return true; }
static boolean fd_get_query_result(struct pipe_context *pctx, struct pipe_query *pq, boolean wait, union pipe_query_result *result) { struct fd_query *q = fd_query(pq); return q->funcs->get_query_result(fd_context(pctx), q, wait, result); }
static boolean fd_get_query_result(struct pipe_context *pctx, struct pipe_query *pq, boolean wait, union pipe_query_result *result) { struct fd_query *q = fd_query(pq); if (q->active) return false; util_query_clear_result(result, q->type); return q->funcs->get_query_result(fd_context(pctx), q, wait, result); }
static boolean fd_begin_query(struct pipe_context *pctx, struct pipe_query *pq) { struct fd_query *q = fd_query(pq); boolean ret; if (q->active) return false; ret = q->funcs->begin_query(fd_context(pctx), q); q->active = ret; return ret; }
static bool fd_end_query(struct pipe_context *pctx, struct pipe_query *pq) { struct fd_query *q = fd_query(pq); /* there are a couple special cases, which don't have * a matching ->begin_query(): */ if (skip_begin_query(q->type) && !q->active) fd_begin_query(pctx, pq); if (!q->active) return false; q->funcs->end_query(fd_context(pctx), q); q->active = false; return true; }
static void fd_end_query(struct pipe_context *pctx, struct pipe_query *pq) { struct fd_query *q = fd_query(pq); q->funcs->end_query(fd_context(pctx), q); }
static boolean fd_begin_query(struct pipe_context *pctx, struct pipe_query *pq) { struct fd_query *q = fd_query(pq); return q->funcs->begin_query(fd_context(pctx), q); }