From 014b3aa07d252d71a85234cfd2255b3b561b5c16 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Thu, 10 Nov 2011 21:18:10 +0100 Subject: r300g: implement PIPE_QUERY_OCCLUSION_PREDICATE --- src/gallium/drivers/r300/r300_query.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/gallium') diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c index 55ec66deb72..c1667171766 100644 --- a/src/gallium/drivers/r300/r300_query.c +++ b/src/gallium/drivers/r300/r300_query.c @@ -36,7 +36,8 @@ static struct pipe_query *r300_create_query(struct pipe_context *pipe, struct r300_screen *r300screen = r300->screen; struct r300_query *q; - if (query_type != PIPE_QUERY_OCCLUSION_COUNTER) { + if (query_type != PIPE_QUERY_OCCLUSION_COUNTER && + query_type != PIPE_QUERY_OCCLUSION_PREDICATE) { return NULL; } @@ -139,6 +140,9 @@ static boolean r300_get_query_result(struct pipe_context* pipe, r300->rws->buffer_unmap(q->buf); + if (q->type == PIPE_QUERY_OCCLUSION_PREDICATE) { + temp = temp != 0; + } *((uint64_t*)vresult) = temp; return TRUE; } -- cgit v1.2.3