diff options
author | Marek Olšák <[email protected]> | 2011-11-10 21:18:10 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-11-10 22:53:54 +0100 |
commit | 014b3aa07d252d71a85234cfd2255b3b561b5c16 (patch) | |
tree | c78fcdd77cacdfa8a108a0d8300a66538f2041fe /src/gallium/drivers/r300 | |
parent | 4fd485666a9a52c48633d261c2fdd763d63299f5 (diff) |
r300g: implement PIPE_QUERY_OCCLUSION_PREDICATE
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r-- | src/gallium/drivers/r300/r300_query.c | 6 |
1 files changed, 5 insertions, 1 deletions
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; } |