示例#1
0
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;
}
示例#2
0
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);
}
示例#3
0
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);
}
示例#4
0
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;
}
示例#5
0
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;
}
示例#6
0
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);
}
示例#7
0
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);
}